design-angular-kit 1.6.1 → 18.0.0

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 (285) hide show
  1. package/README.md +1 -26
  2. package/assets/i18n/en.json +2 -1
  3. package/assets/i18n/it.json +2 -1
  4. package/esm2022/design-angular-kit.mjs +5 -0
  5. package/esm2022/lib/abstracts/abstract-form.component.mjs +199 -0
  6. package/esm2022/lib/abstracts/abstract.component.mjs +46 -0
  7. package/esm2022/lib/components/core/accordion/accordion.component.mjs +39 -0
  8. package/esm2022/lib/components/core/alert/alert.component.mjs +71 -0
  9. package/esm2022/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.mjs +43 -0
  10. package/esm2022/lib/components/core/avatar/avatar-extra-text.directive.mjs +22 -0
  11. package/esm2022/lib/components/core/avatar/avatar-group/avatar-group.component.mjs +84 -0
  12. package/esm2022/lib/components/core/avatar/avatar-presence.directive.mjs +38 -0
  13. package/esm2022/lib/components/core/avatar/avatar-status.directive.mjs +38 -0
  14. package/esm2022/lib/components/core/avatar/avatar-wrapper.directive.mjs +32 -0
  15. package/esm2022/lib/components/core/avatar/avatar.directive.mjs +78 -0
  16. package/esm2022/lib/components/core/avatar/avatar.module.mjs +52 -0
  17. package/esm2022/lib/components/core/badge/badge.directive.mjs +39 -0
  18. package/esm2022/lib/components/core/button/button.directive.mjs +80 -0
  19. package/esm2022/lib/components/core/callout/callout.component.mjs +64 -0
  20. package/esm2022/lib/components/core/card/card.component.mjs +59 -0
  21. package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +86 -0
  22. package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +19 -0
  23. package/esm2022/lib/components/core/carousel/carousel.module.mjs +18 -0
  24. package/esm2022/lib/components/core/chip/chip.component.mjs +136 -0
  25. package/esm2022/lib/components/core/collapse/collapse.component.mjs +116 -0
  26. package/esm2022/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +27 -0
  27. package/esm2022/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +11 -0
  28. package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +55 -0
  29. package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +19 -0
  30. package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +147 -0
  31. package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +70 -0
  32. package/esm2022/lib/components/core/dropdown/dropdown.module.mjs +18 -0
  33. package/esm2022/lib/components/core/forward/forward.directive.mjs +57 -0
  34. package/esm2022/lib/components/core/link/link.component.mjs +42 -0
  35. package/esm2022/lib/components/core/list/list/list.component.mjs +22 -0
  36. package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +67 -0
  37. package/esm2022/lib/components/core/list/list.module.mjs +18 -0
  38. package/esm2022/lib/components/core/modal/modal.component.mjs +194 -0
  39. package/esm2022/lib/components/core/notifications/notifications.component.mjs +111 -0
  40. package/esm2022/lib/components/core/pagination/pagination.component.mjs +130 -0
  41. package/esm2022/lib/components/core/popover/popover.directive.mjs +176 -0
  42. package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +34 -0
  43. package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +25 -0
  44. package/esm2022/lib/components/core/spinner/spinner.component.mjs +30 -0
  45. package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +116 -0
  46. package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +22 -0
  47. package/esm2022/lib/components/core/steppers/steppers.module.mjs +18 -0
  48. package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +97 -0
  49. package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +39 -0
  50. package/esm2022/lib/components/core/tab/tab.module.mjs +18 -0
  51. package/esm2022/lib/components/core/table/sort/sort-header/sort-header.component.mjs +134 -0
  52. package/esm2022/lib/components/core/table/sort/sort.directive.mjs +123 -0
  53. package/esm2022/lib/components/core/table/table.component.mjs +45 -0
  54. package/esm2022/lib/components/core/table/table.module.mjs +19 -0
  55. package/esm2022/lib/components/core/timeline/timeline-item/timeline-item.component.mjs +90 -0
  56. package/esm2022/lib/components/core/timeline/timeline.component.mjs +36 -0
  57. package/esm2022/lib/components/core/timeline/timeline.module.mjs +18 -0
  58. package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +143 -0
  59. package/esm2022/lib/components/core/video-player/video-player-i18n.model.mjs +2 -0
  60. package/esm2022/lib/components/core/video-player/video-player-i18n.service.mjs +130 -0
  61. package/esm2022/lib/components/core/video-player/video-player.component.mjs +301 -0
  62. package/esm2022/lib/components/core/video-player/video-player.config.mjs +43 -0
  63. package/esm2022/lib/components/core/video-player/video-player.cookie.mjs +25 -0
  64. package/esm2022/lib/components/core/video-player/video-player.model.mjs +3 -0
  65. package/esm2022/lib/components/core/video-player/video-player.module.mjs +16 -0
  66. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +178 -0
  67. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +48 -0
  68. package/esm2022/lib/components/form/form.module.mjs +67 -0
  69. package/esm2022/lib/components/form/input/input.component.mjs +190 -0
  70. package/esm2022/lib/components/form/password-input/password-input.component.mjs +149 -0
  71. package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +60 -0
  72. package/esm2022/lib/components/form/range/range.component.mjs +64 -0
  73. package/esm2022/lib/components/form/rating/rating.component.mjs +50 -0
  74. package/esm2022/lib/components/form/search/search.component.mjs +112 -0
  75. package/esm2022/lib/components/form/select/select.component.mjs +70 -0
  76. package/esm2022/lib/components/form/textarea/textarea.component.mjs +55 -0
  77. package/esm2022/lib/components/form/transfer/store/transfer.reducers.mjs +191 -0
  78. package/esm2022/lib/components/form/transfer/store/transfer.state.mjs +2 -0
  79. package/esm2022/lib/components/form/transfer/store/transfer.store.mjs +70 -0
  80. package/esm2022/lib/components/form/transfer/transfer-list/transfer-list.component.mjs +72 -0
  81. package/esm2022/lib/components/form/transfer/transfer.component.mjs +149 -0
  82. package/esm2022/lib/components/form/transfer/transfer.model.mjs +6 -0
  83. package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +142 -0
  84. package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +107 -0
  85. package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +67 -0
  86. package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +68 -0
  87. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +51 -0
  88. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +21 -0
  89. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +18 -0
  90. package/esm2022/lib/components/navigation/footer/footer.component.mjs +12 -0
  91. package/esm2022/lib/components/navigation/header/header.component.mjs +108 -0
  92. package/esm2022/lib/components/navigation/megamenu/megamenu.component.mjs +27 -0
  93. package/esm2022/lib/components/navigation/navbar/navbar/navbar.component.mjs +51 -0
  94. package/esm2022/lib/components/navigation/navbar/navbar-item/navbar-item.component.mjs +11 -0
  95. package/esm2022/lib/components/navigation/navbar/navbar.module.mjs +18 -0
  96. package/esm2022/lib/components/navigation/navscroll/navscroll-list-item.component.mjs +97 -0
  97. package/esm2022/lib/components/navigation/navscroll/navscroll-list-items.component.mjs +44 -0
  98. package/esm2022/lib/components/navigation/navscroll/navscroll.component.mjs +119 -0
  99. package/esm2022/lib/components/navigation/navscroll/navscroll.model.mjs +2 -0
  100. package/esm2022/lib/components/navigation/navscroll/navscroll.store.mjs +68 -0
  101. package/esm2022/lib/components/navigation/navscroll/navscroll.utils.mjs +23 -0
  102. package/esm2022/lib/components/navigation/sidebar/sidebar.component.mjs +50 -0
  103. package/esm2022/lib/components/navigation/skiplink/skiplink/skiplink.component.mjs +27 -0
  104. package/esm2022/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.mjs +26 -0
  105. package/esm2022/lib/components/navigation/skiplink/skiplink.module.mjs +18 -0
  106. package/esm2022/lib/components/utils/error-page/error-page.component.mjs +74 -0
  107. package/esm2022/lib/components/utils/icon/icon.component.mjs +63 -0
  108. package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +50 -0
  109. package/esm2022/lib/design-angular-kit.module.mjs +242 -0
  110. package/esm2022/lib/enums/colors.enums.mjs +12 -0
  111. package/esm2022/lib/enums/sizes.enum.mjs +9 -0
  112. package/esm2022/lib/interfaces/core.mjs +16 -0
  113. package/esm2022/lib/interfaces/design-angular-kit-config.mjs +7 -0
  114. package/esm2022/lib/interfaces/form.mjs +2 -0
  115. package/esm2022/lib/interfaces/icon.mjs +181 -0
  116. package/esm2022/lib/interfaces/sortable-table.mjs +6 -0
  117. package/esm2022/lib/interfaces/utils.mjs +2 -0
  118. package/esm2022/lib/pipes/date-ago.pipe.mjs +56 -0
  119. package/esm2022/lib/pipes/duration.pipe.mjs +115 -0
  120. package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +48 -0
  121. package/esm2022/lib/provide-design-angular-kit.mjs +64 -0
  122. package/esm2022/lib/services/notification/notification.service.mjs +120 -0
  123. package/esm2022/lib/utils/coercion.mjs +18 -0
  124. package/esm2022/lib/utils/date-utils.mjs +162 -0
  125. package/esm2022/lib/utils/file-utils.mjs +73 -0
  126. package/esm2022/lib/utils/regex.mjs +35 -0
  127. package/esm2022/lib/validators/it-validators.mjs +161 -0
  128. package/esm2022/public_api.mjs +119 -0
  129. package/fesm2022/design-angular-kit.mjs +568 -527
  130. package/fesm2022/design-angular-kit.mjs.map +1 -1
  131. package/index.d.ts +3 -3980
  132. package/lib/abstracts/abstract-form.component.d.ts +89 -0
  133. package/lib/abstracts/abstract.component.d.ts +30 -0
  134. package/lib/components/core/accordion/accordion.component.d.ts +18 -0
  135. package/lib/components/core/alert/alert.component.d.ts +44 -0
  136. package/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.d.ts +29 -0
  137. package/lib/components/core/avatar/avatar-extra-text.directive.d.ts +6 -0
  138. package/lib/components/core/avatar/avatar-group/avatar-group.component.d.ts +20 -0
  139. package/lib/components/core/avatar/avatar-presence.directive.d.ts +17 -0
  140. package/lib/components/core/avatar/avatar-status.directive.d.ts +17 -0
  141. package/lib/components/core/avatar/avatar-wrapper.directive.d.ts +9 -0
  142. package/lib/components/core/avatar/avatar.directive.d.ts +33 -0
  143. package/lib/components/core/avatar/avatar.module.d.ts +13 -0
  144. package/lib/components/core/badge/badge.directive.d.ts +23 -0
  145. package/lib/components/core/button/button.directive.d.ts +48 -0
  146. package/lib/components/core/callout/callout.component.d.ts +50 -0
  147. package/lib/components/core/card/card.component.d.ts +69 -0
  148. package/lib/components/core/carousel/carousel/carousel.component.d.ts +65 -0
  149. package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +15 -0
  150. package/lib/components/core/carousel/carousel.module.d.ts +8 -0
  151. package/lib/components/core/chip/chip.component.d.ts +76 -0
  152. package/lib/components/core/collapse/collapse.component.d.ts +67 -0
  153. package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +12 -0
  154. package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +5 -0
  155. package/lib/components/core/dimmer/dimmer.component.d.ts +24 -0
  156. package/lib/components/core/dimmer/dimmer.module.d.ts +9 -0
  157. package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +94 -0
  158. package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +46 -0
  159. package/lib/components/core/dropdown/dropdown.module.d.ts +8 -0
  160. package/lib/components/core/forward/forward.directive.d.ts +14 -0
  161. package/lib/components/core/link/link.component.d.ts +35 -0
  162. package/lib/components/core/list/list/list.component.d.ts +24 -0
  163. package/lib/components/core/list/list-item/list-item.component.d.ts +44 -0
  164. package/lib/components/core/list/list.module.d.ts +8 -0
  165. package/lib/components/core/modal/modal.component.d.ts +135 -0
  166. package/lib/components/core/notifications/notifications.component.d.ts +45 -0
  167. package/lib/components/core/pagination/pagination.component.d.ts +92 -0
  168. package/lib/components/core/popover/popover.directive.d.ts +99 -0
  169. package/lib/components/core/progress-bar/progress-bar.component.d.ts +31 -0
  170. package/lib/components/core/progress-button/progress-button.component.d.ts +21 -0
  171. package/lib/components/core/spinner/spinner.component.d.ts +24 -0
  172. package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +130 -0
  173. package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +24 -0
  174. package/lib/components/core/steppers/steppers.module.d.ts +8 -0
  175. package/lib/components/core/tab/tab-container/tab-container.component.d.ts +60 -0
  176. package/lib/components/core/tab/tab-item/tab-item.component.d.ts +38 -0
  177. package/lib/components/core/tab/tab.module.d.ts +8 -0
  178. package/lib/components/core/table/sort/sort-header/sort-header.component.d.ts +72 -0
  179. package/lib/components/core/table/sort/sort.directive.d.ts +53 -0
  180. package/lib/components/core/table/table.component.d.ts +60 -0
  181. package/lib/components/core/table/table.module.d.ts +9 -0
  182. package/lib/components/core/timeline/timeline-item/timeline-item.component.d.ts +79 -0
  183. package/lib/components/core/timeline/timeline.component.d.ts +21 -0
  184. package/lib/components/core/timeline/timeline.module.d.ts +8 -0
  185. package/lib/components/core/tooltip/tooltip.directive.d.ts +82 -0
  186. package/lib/components/core/video-player/video-player-i18n.model.d.ts +179 -0
  187. package/lib/components/core/video-player/video-player-i18n.service.d.ts +17 -0
  188. package/lib/components/core/video-player/video-player.component.d.ts +46 -0
  189. package/lib/components/core/video-player/video-player.config.d.ts +68 -0
  190. package/lib/components/core/video-player/video-player.cookie.d.ts +6 -0
  191. package/lib/components/core/video-player/video-player.model.d.ts +44 -0
  192. package/lib/components/core/video-player/video-player.module.d.ts +7 -0
  193. package/lib/components/form/autocomplete/autocomplete.component.d.ts +75 -0
  194. package/lib/components/form/checkbox/checkbox.component.d.ts +41 -0
  195. package/lib/components/form/form.module.d.ts +19 -0
  196. package/lib/components/form/input/input.component.d.ts +95 -0
  197. package/lib/components/form/password-input/password-input.component.d.ts +80 -0
  198. package/lib/components/form/radio-button/radio-button.component.d.ts +38 -0
  199. package/lib/components/form/range/range.component.d.ts +42 -0
  200. package/lib/components/form/rating/rating.component.d.ts +24 -0
  201. package/lib/components/form/search/search.component.d.ts +59 -0
  202. package/lib/components/form/select/select.component.d.ts +36 -0
  203. package/lib/components/form/textarea/textarea.component.d.ts +34 -0
  204. package/lib/components/form/transfer/store/transfer.reducers.d.ts +103 -0
  205. package/lib/components/form/transfer/store/transfer.state.d.ts +18 -0
  206. package/lib/components/form/transfer/store/transfer.store.d.ts +23 -0
  207. package/lib/components/form/transfer/transfer-list/transfer-list.component.d.ts +48 -0
  208. package/lib/components/form/transfer/transfer.component.d.ts +75 -0
  209. package/lib/components/form/transfer/transfer.model.d.ts +6 -0
  210. package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +60 -0
  211. package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +62 -0
  212. package/lib/components/navigation/back-button/back-button.component.d.ts +47 -0
  213. package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +50 -0
  214. package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +28 -0
  215. package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +23 -0
  216. package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts +8 -0
  217. package/lib/components/navigation/footer/footer.component.d.ts +6 -0
  218. package/lib/components/navigation/header/header.component.d.ts +39 -0
  219. package/lib/components/navigation/megamenu/megamenu.component.d.ts +22 -0
  220. package/lib/components/navigation/navbar/navbar/navbar.component.d.ts +19 -0
  221. package/lib/components/navigation/navbar/navbar-item/navbar-item.component.d.ts +5 -0
  222. package/lib/components/navigation/navbar/navbar.module.d.ts +8 -0
  223. package/lib/components/navigation/navscroll/navscroll-list-item.component.d.ts +16 -0
  224. package/lib/components/navigation/navscroll/navscroll-list-items.component.d.ts +7 -0
  225. package/lib/components/navigation/navscroll/navscroll.component.d.ts +47 -0
  226. package/lib/components/navigation/navscroll/navscroll.model.d.ts +15 -0
  227. package/lib/components/navigation/navscroll/navscroll.store.d.ts +16 -0
  228. package/lib/components/navigation/navscroll/navscroll.utils.d.ts +6 -0
  229. package/lib/components/navigation/sidebar/sidebar.component.d.ts +26 -0
  230. package/lib/components/navigation/skiplink/skiplink/skiplink.component.d.ts +17 -0
  231. package/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.d.ts +24 -0
  232. package/lib/components/navigation/skiplink/skiplink.module.d.ts +8 -0
  233. package/lib/components/utils/error-page/error-page.component.d.ts +44 -0
  234. package/lib/components/utils/icon/icon.component.d.ts +53 -0
  235. package/lib/components/utils/language-switcher/language-switcher.component.d.ts +27 -0
  236. package/lib/design-angular-kit.module.d.ts +55 -0
  237. package/lib/enums/colors.enums.d.ts +10 -0
  238. package/lib/enums/sizes.enum.d.ts +7 -0
  239. package/lib/interfaces/core.d.ts +77 -0
  240. package/lib/interfaces/design-angular-kit-config.d.ts +30 -0
  241. package/lib/interfaces/form.d.ts +67 -0
  242. package/lib/interfaces/icon.d.ts +4 -0
  243. package/lib/interfaces/sortable-table.d.ts +33 -0
  244. package/lib/interfaces/utils.d.ts +10 -0
  245. package/lib/pipes/date-ago.pipe.d.ts +17 -0
  246. package/lib/pipes/duration.pipe.d.ts +35 -0
  247. package/lib/pipes/mark-matching-text.pipe.d.ts +18 -0
  248. package/lib/provide-design-angular-kit.d.ts +7 -0
  249. package/lib/services/notification/notification.service.d.ts +63 -0
  250. package/lib/utils/coercion.d.ts +14 -0
  251. package/lib/utils/date-utils.d.ts +79 -0
  252. package/lib/utils/file-utils.d.ts +32 -0
  253. package/lib/utils/regex.d.ts +34 -0
  254. package/lib/validators/it-validators.d.ts +70 -0
  255. package/package.json +11 -12
  256. package/public_api.d.ts +106 -0
  257. package/schematics/ng-add/index.js +1 -1
  258. package/schematics/ng-add/index.js.map +1 -1
  259. package/schematics/ng-add/rules/setup-project/add-animations.js +2 -1
  260. package/schematics/ng-add/rules/setup-project/add-animations.js.map +1 -1
  261. package/schematics/ng-add/rules/setup-project/add-assets.js +2 -1
  262. package/schematics/ng-add/rules/setup-project/add-assets.js.map +1 -1
  263. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js +2 -1
  264. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js.map +1 -1
  265. package/schematics/ng-add/rules/setup-project/add-http-client.js +2 -1
  266. package/schematics/ng-add/rules/setup-project/add-http-client.js.map +1 -1
  267. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js +2 -1
  268. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js.map +1 -1
  269. package/schematics/ng-add/rules/setup-project/add-localisation.js +2 -1
  270. package/schematics/ng-add/rules/setup-project/add-localisation.js.map +1 -1
  271. package/schematics/ng-add/rules/setup-project/angular-json-helper.js +2 -1
  272. package/schematics/ng-add/rules/setup-project/angular-json-helper.js.map +1 -1
  273. package/schematics/ng-add/setup-project.js +2 -2
  274. package/schematics/ng-add/setup-project.js.map +1 -1
  275. package/schematics/ng-add/setup-project.spec.js +1 -1
  276. package/schematics/ng-add/utils.js +6 -13
  277. package/schematics/ng-add/utils.js.map +1 -1
  278. package/schematics/ng-add/versions-helper.js +19 -11
  279. package/schematics/ng-add/versions-helper.js.map +1 -1
  280. package/schematics/ng-add/utils.spec.d.ts +0 -1
  281. package/schematics/ng-add/utils.spec.js +0 -48
  282. package/schematics/ng-add/utils.spec.js.map +0 -1
  283. package/schematics/ng-add/versions-helper.spec.d.ts +0 -1
  284. package/schematics/ng-add/versions-helper.spec.js +0 -46
  285. package/schematics/ng-add/versions-helper.spec.js.map +0 -1
package/README.md CHANGED
@@ -58,34 +58,9 @@ Per giocare con la libreria è disponibile il [Playground Angular Kit](https://g
58
58
  Design Angular Kit è disponibile su NPM, per installarlo su una applicazione esistente sulla quale provare la libreria esegui il comando
59
59
 
60
60
  ```sh
61
- npm install design-angular-kit --save
61
+ npm install design-angular-kit@angular18 --save
62
62
  ```
63
63
 
64
- Scegli la versione corrispondente alla tua versione Angular:
65
-
66
- | Angular | design-angular-kit |
67
- | ------- | ------------------ |
68
- | 20+ | v1.6.0 + |
69
- | 19+ | v1.5.0 + |
70
- | 18+ | v1.4.0 + |
71
-
72
- ⚠️ Le versioni precendenti non sono più manutenute.
73
-
74
- In alternativa, puoi lanciar il comando
75
-
76
- ```sh
77
- ng add design-angular-kit --project <projectName>
78
- ```
79
-
80
- Eseguirà in serie:
81
-
82
- - scelta della corretta versione da installare
83
- - installazione della dipendenza
84
- - aggiunta della dipendenza al package.json
85
- - configurazione dell'applicazione
86
-
87
- Le istruzioni del paragrafo successivo, **Configurazione**, verranno eseguite automaticamente, eccetto per la personalizzazione della configurazione di _i18n_.
88
-
89
64
  ## Configurazione
90
65
 
91
66
  ### Configurazione app
@@ -97,7 +97,8 @@
97
97
  "full-login": "Access the personal area",
98
98
  "search": "Search",
99
99
  "website-search": "Search in the site",
100
- "navigation-path": "Navigation path"
100
+ "navigation-path": "Navigation path",
101
+ "aria-label-toggle": "Show/Hide Index of contents"
101
102
  },
102
103
  "navbar": {
103
104
  "aria-label-main": "Main navigation",
@@ -97,7 +97,8 @@
97
97
  "full-login": "Accedi all'area personale",
98
98
  "search": "Cerca",
99
99
  "website-search": "Cerca nel sito",
100
- "navigation-path": "Percorso di navigazione"
100
+ "navigation-path": "Percorso di navigazione",
101
+ "aria-label-toggle": "Apri/Chiudi indice"
101
102
  },
102
103
  "navbar": {
103
104
  "aria-label-main": "Navigazione principale",
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduLWFuZ3VsYXIta2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9kZXNpZ24tYW5ndWxhci1raXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -0,0 +1,199 @@
1
+ import { FormControl, FormGroup } from '@angular/forms';
2
+ import { Component, Input, Optional, Self } from '@angular/core';
3
+ import { ItAbstractComponent } from './abstract.component';
4
+ import { inputToBoolean } from '../utils/coercion';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngx-translate/core";
7
+ import * as i2 from "@angular/forms";
8
+ export class ItAbstractFormComponent extends ItAbstractComponent {
9
+ /**
10
+ * Set the disabled state
11
+ */
12
+ set disabled(isDisabled) {
13
+ this.setDisabledState(isDisabled);
14
+ }
15
+ constructor(_translateService, _ngControl, fgd) {
16
+ super();
17
+ this._translateService = _translateService;
18
+ this._ngControl = _ngControl;
19
+ this.fgd = fgd;
20
+ /**
21
+ * Validation color display mode (validation triggered if field is touched or not pristine)
22
+ * - <b>true</b>: Always show the validation color
23
+ * - <b>false</b>: Never show validation color
24
+ * - <b>only-valid</b>: Show only valid validation color
25
+ * - <b>only-invalid</b>: Show only invalid validation color
26
+ * @default <b>false</b>: Do not show the validation color by default
27
+ */
28
+ this.validationMode = false;
29
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
+ this.onChange = (_) => { };
31
+ this.onTouched = () => { };
32
+ this.control = new FormControl();
33
+ this._ngControl && (this._ngControl.valueAccessor = this);
34
+ }
35
+ /**
36
+ * Check if field is invalid (Validation failed)
37
+ */
38
+ get isInvalid() {
39
+ if (this.validationMode === 'only-valid' || (this.validationMode !== 'only-invalid' && !this.validationMode)) {
40
+ return undefined;
41
+ }
42
+ if (this._ngControl) {
43
+ return this._ngControl.invalid === true && (!this._ngControl.pristine || this._ngControl.touched === true);
44
+ }
45
+ return this.control.invalid && (!this.control.pristine || this.control.touched);
46
+ }
47
+ /**
48
+ * Check if field is valid (Validation successful)
49
+ */
50
+ get isValid() {
51
+ if (this.validationMode === 'only-invalid' || (this.validationMode !== 'only-valid' && !this.validationMode)) {
52
+ return undefined;
53
+ }
54
+ if (this._ngControl) {
55
+ return this._ngControl.valid === true && (!this._ngControl.pristine || this._ngControl.touched === true);
56
+ }
57
+ return this.control.valid && (!this.control.pristine || this.control.touched);
58
+ }
59
+ /**
60
+ * Return the invalid message string from TranslateService
61
+ */
62
+ get invalidMessage() {
63
+ if (this.hasError('required')) {
64
+ return this._translateService.get('it.errors.required-field');
65
+ }
66
+ return this._translateService.get('it.errors.invalid-field');
67
+ }
68
+ ngOnInit() {
69
+ if (this._ngControl?.control) {
70
+ this.control.setValidators(this._ngControl.control.validator);
71
+ this.setValidationModeWhenInAForm();
72
+ }
73
+ }
74
+ registerOnChange(fn) {
75
+ this.control.valueChanges.subscribe(fn);
76
+ this.onChange = fn;
77
+ }
78
+ registerOnTouched(fn) {
79
+ this.onTouched = fn;
80
+ }
81
+ setDisabledState(isDisabled) {
82
+ if (isDisabled) {
83
+ return this.control.disable();
84
+ }
85
+ this.control.enable();
86
+ }
87
+ writeValue(value) {
88
+ this.control.setValue(value, { emitEvent: false });
89
+ this._changeDetectorRef.detectChanges();
90
+ }
91
+ /**
92
+ * Mark the control as touched
93
+ */
94
+ markAsTouched() {
95
+ if (!this.control.touched) {
96
+ this.onTouched();
97
+ }
98
+ }
99
+ /**
100
+ * Fired to check if form control is touched
101
+ */
102
+ ngDoCheck() {
103
+ if (this._ngControl?.control) {
104
+ const ngControl = this._ngControl.control;
105
+ if (this.control.touched !== ngControl.touched) {
106
+ if (ngControl.touched) {
107
+ this.control.markAsTouched();
108
+ }
109
+ else {
110
+ this.control.markAsUntouched();
111
+ }
112
+ }
113
+ if (this.control.pristine !== ngControl.pristine) {
114
+ if (ngControl.pristine) {
115
+ this.control.markAsPristine();
116
+ }
117
+ else {
118
+ this.control.markAsDirty();
119
+ }
120
+ }
121
+ }
122
+ this._changeDetectorRef.detectChanges();
123
+ }
124
+ /**
125
+ * Add the validators in control and parent control
126
+ * @param validators the validators
127
+ * @protected
128
+ */
129
+ addValidators(validators) {
130
+ if (!Array.isArray(validators)) {
131
+ validators = [validators];
132
+ }
133
+ validators.forEach(validator => {
134
+ if (!this.control.hasValidator(validator)) {
135
+ this.control.addValidators(validator);
136
+ }
137
+ if (this._ngControl?.control && !this._ngControl.control.hasValidator(validator)) {
138
+ this._ngControl.control.addValidators(validator);
139
+ }
140
+ });
141
+ }
142
+ /**
143
+ * Reports whether the control with the given path has the error specified. <br/>
144
+ * If the control is not present, false is returned.
145
+ * @param errorCode The code of the error to check
146
+ * @param path A list of control names that designates how to move from the current control
147
+ * to the control that should be queried for errors.
148
+ * @returns whether the given error is present in the control at the given path.
149
+ */
150
+ hasError(errorCode, path) {
151
+ if (this._ngControl) {
152
+ return this._ngControl.hasError(errorCode, path);
153
+ }
154
+ return this.control.hasError(errorCode, path);
155
+ }
156
+ /**
157
+ * Reports error data for the control with the given path.
158
+ * @param errorCode The code of the error to check
159
+ * @param path A list of control names that designates how to move from the current control
160
+ * to the control that should be queried for errors.
161
+ * @returns error data for that particular error. If the control or error is not present,
162
+ * null is returned.
163
+ */
164
+ getError(errorCode, path) {
165
+ if (this._ngControl) {
166
+ return this._ngControl.getError(errorCode, path);
167
+ }
168
+ return this.control.getError(errorCode, path);
169
+ }
170
+ // This function assurest that validation mode remains complaiant with the Design kit
171
+ // When the validation mode is `false` and input elements are wrapped in a `FormGroup`
172
+ // validation mode is automatically set to `true`.
173
+ setValidationModeWhenInAForm() {
174
+ const isInAForm = this.fgd?.control instanceof FormGroup;
175
+ if (isInAForm && this.validationMode == false) {
176
+ this.validationMode = true;
177
+ }
178
+ }
179
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAbstractFormComponent, deps: [{ token: i1.TranslateService }, { token: i2.NgControl, optional: true, self: true }, { token: i2.ControlContainer, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
180
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.6", type: ItAbstractFormComponent, selector: "ng-component", inputs: { label: "label", validationMode: "validationMode", disabled: ["disabled", "disabled", inputToBoolean] }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
181
+ }
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAbstractFormComponent, decorators: [{
183
+ type: Component,
184
+ args: [{ template: '' }]
185
+ }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.NgControl, decorators: [{
186
+ type: Self
187
+ }, {
188
+ type: Optional
189
+ }] }, { type: i2.ControlContainer, decorators: [{
190
+ type: Optional
191
+ }] }], propDecorators: { label: [{
192
+ type: Input
193
+ }], validationMode: [{
194
+ type: Input
195
+ }], disabled: [{
196
+ type: Input,
197
+ args: [{ transform: inputToBoolean }]
198
+ }] } });
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9hYnN0cmFjdHMvYWJzdHJhY3QtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEwQyxXQUFXLEVBQUUsU0FBUyxFQUEwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hILE9BQU8sRUFBRSxTQUFTLEVBQVcsS0FBSyxFQUFVLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBR25ELE1BQU0sT0FBZ0IsdUJBQWlDLFNBQVEsbUJBQW1CO0lBZ0JoRjs7T0FFRztJQUNILElBQTBDLFFBQVEsQ0FBQyxVQUFtQjtRQUNwRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQU9ELFlBQ3FCLGlCQUFtQyxFQUNmLFVBQXFCLEVBQ3RDLEdBQXNCO1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBSlcsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNmLGVBQVUsR0FBVixVQUFVLENBQVc7UUFDdEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF6QjlDOzs7Ozs7O1dBT0c7UUFDTSxtQkFBYyxHQUE0QyxLQUFLLENBQUM7UUFzRXpFLDZEQUE2RDtRQUM3RCxhQUFRLEdBQUcsQ0FBQyxDQUFJLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUV4QixjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBckRuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUs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QztRQUNuRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELHFGQUFxRjtJQUNyRixzRkFBc0Y7SUFDdEYsa0RBQWtEO0lBQzFDLDRCQUE0QjtRQUNsQyxNQUFNLFNBQVMsR0FBWSxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sWUFBWSxTQUFTLENBQUM7UUFDbEUsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQzs4R0ExTW1CLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDJIQW1CdkIsY0FBYyxvREFwQmIsRUFBRTs7MkZBQ0gsdUJBQXVCO2tCQUQ1QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs7MEJBK0J0QixJQUFJOzswQkFBSSxRQUFROzswQkFDaEIsUUFBUTt5Q0EzQkYsS0FBSztzQkFBYixLQUFLO2dCQVVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS29DLFFBQVE7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIE5nQ29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIERvQ2hlY2ssIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdEFic3RyYWN0Q29tcG9uZW50IH0gZnJvbSAnLi9hYnN0cmFjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgaW5wdXRUb0Jvb2xlYW4gfSBmcm9tICcuLi91dGlscy9jb2VyY2lvbic7XG5cbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJdEFic3RyYWN0Rm9ybUNvbXBvbmVudDxUID0gYW55PiBleHRlbmRzIEl0QWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBEb0NoZWNrIHtcbiAgLyoqXG4gICAqIFRoZSBsYWJlbCBvZiBmb3JtIGNvbnRyb2xcbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0aW9uIGNvbG9yIGRpc3BsYXkgbW9kZSAodmFsaWRhdGlvbiB0cmlnZ2VyZWQgaWYgZmllbGQgaXMgdG91Y2hlZCBvciBub3QgcHJpc3RpbmUpXG4gICAqIC0gPGI+dHJ1ZTwvYj46IEFsd2F5cyBzaG93IHRoZSB2YWxpZGF0aW9uIGNvbG9yXG4gICAqIC0gPGI+ZmFsc2U8L2I+OiBOZXZlciBzaG93IHZhbGlkYXRpb24gY29sb3JcbiAgICogLSA8Yj5vbmx5LXZhbGlkPC9iPjogU2hvdyBvbmx5IHZhbGlkIHZhbGlkYXRpb24gY29sb3JcbiAgICogLSA8Yj5vbmx5LWludmFsaWQ8L2I+OiBTaG93IG9ubHkgaW52YWxpZCB2YWxpZGF0aW9uIGNvbG9yXG4gICAqIEBkZWZhdWx0IDxiPmZhbHNlPC9iPjogRG8gbm90IHNob3cgdGhlIHZhbGlkYXRpb24gY29sb3IgYnkgZGVmYXVsdFxuICAgKi9cbiAgQElucHV0KCkgdmFsaWRhdGlvbk1vZGU6IGJvb2xlYW4gfCAnb25seS12YWxpZCcgfCAnb25seS1pbnZhbGlkJyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRpc2FibGVkIHN0YXRlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNldCBkaXNhYmxlZChpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVybmFsIGZvcm0gY29udHJvbFxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbnRyb2w6IEZvcm1Db250cm9sPFQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCByZWFkb25seSBfbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGZnZD86IENvbnRyb2xDb250YWluZXJcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICB0aGlzLl9uZ0NvbnRyb2wgJiYgKHRoaXMuX25nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgZmllbGQgaXMgaW52YWxpZCAoVmFsaWRhdGlvbiBmYWlsZWQpXG4gICAqL1xuICBnZXQgaXNJbnZhbGlkKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnZhbGlkYXRpb25Nb2RlID09PSAnb25seS12YWxpZCcgfHwgKHRoaXMudmFsaWRhdGlvbk1vZGUgIT09ICdvbmx5LWludmFsaWQnICYmICF0aGlzLnZhbGlkYXRpb25Nb2RlKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fbmdDb250cm9sKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbmdDb250cm9sLmludmFsaWQgPT09IHRydWUgJiYgKCF0aGlzLl9uZ0NvbnRyb2wucHJpc3RpbmUgfHwgdGhpcy5fbmdDb250cm9sLnRvdWNoZWQgPT09IHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmludmFsaWQgJiYgKCF0aGlzLmNvbnRyb2wucHJpc3RpbmUgfHwgdGhpcy5jb250cm9sLnRvdWNoZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGZpZWxkIGlzIHZhbGlkIChWYWxpZGF0aW9uIHN1Y2Nlc3NmdWwpXG4gICAqL1xuICBnZXQgaXNWYWxpZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy52YWxpZGF0aW9uTW9kZSA9PT0gJ29ubHktaW52YWxpZCcgfHwgKHRoaXMudmFsaWRhdGlvbk1vZGUgIT09ICdvbmx5LXZhbGlkJyAmJiAhdGhpcy52YWxpZGF0aW9uTW9kZSkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX25nQ29udHJvbCkge1xuICAgICAgcmV0dXJuIHRoaXMuX25nQ29udHJvbC52YWxpZCA9PT0gdHJ1ZSAmJiAoIXRoaXMuX25nQ29udHJvbC5wcmlzdGluZSB8fCB0aGlzLl9uZ0NvbnRyb2wudG91Y2hlZCA9PT0gdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbnRyb2wudmFsaWQgJiYgKCF0aGlzLmNvbnRyb2wucHJpc3RpbmUgfHwgdGhpcy5jb250cm9sLnRvdWNoZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgaW52YWxpZCBtZXNzYWdlIHN0cmluZyBmcm9tIFRyYW5zbGF0ZVNlcnZpY2VcbiAgICovXG4gIGdldCBpbnZhbGlkTWVzc2FnZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGlmICh0aGlzLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fdHJhbnNsYXRlU2VydmljZS5nZXQoJ2l0LmVycm9ycy5yZXF1aXJlZC1maWVsZCcpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmdldCgnaXQuZXJyb3JzLmludmFsaWQtZmllbGQnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9uZ0NvbnRyb2w/LmNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWxpZGF0b3JzKCh0aGlzLl9uZ0NvbnRyb2wuY29udHJvbCBhcyBGb3JtQ29udHJvbCkudmFsaWRhdG9yKTtcbiAgICAgIHRoaXMuc2V0VmFsaWRhdGlvbk1vZGVXaGVuSW5BRm9ybSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgb25DaGFuZ2UgPSAoXzogVCkgPT4ge307XG5cbiAgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoZm4pO1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZGlzYWJsZSgpO1xuICAgIH1cbiAgICB0aGlzLmNvbnRyb2wuZW5hYmxlKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcmsgdGhlIGNvbnRyb2wgYXMgdG91Y2hlZFxuICAgKi9cbiAgbWFya0FzVG91Y2hlZCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbC50b3VjaGVkKSB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlZCB0byBjaGVjayBpZiBmb3JtIGNvbnRyb2wgaXMgdG91Y2hlZFxuICAgKi9cbiAgbmdEb0NoZWNrKCkge1xuICAgIGlmICh0aGlzLl9uZ0NvbnRyb2w/LmNvbnRyb2wpIHtcbiAgICAgIGNvbnN0IG5nQ29udHJvbCA9IHRoaXMuX25nQ29udHJvbC5jb250cm9sO1xuICAgICAgaWYgKHRoaXMuY29udHJvbC50b3VjaGVkICE9PSBuZ0NvbnRyb2wudG91Y2hlZCkge1xuICAgICAgICBpZiAobmdDb250cm9sLnRvdWNoZWQpIHtcbiAgICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY29udHJvbC5wcmlzdGluZSAhPT0gbmdDb250cm9sLnByaXN0aW5lKSB7XG4gICAgICAgIGlmIChuZ0NvbnRyb2wucHJpc3RpbmUpIHtcbiAgICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHRoZSB2YWxpZGF0b3JzIGluIGNvbnRyb2wgYW5kIHBhcmVudCBjb250cm9sXG4gICAqIEBwYXJhbSB2YWxpZGF0b3JzIHRoZSB2YWxpZGF0b3JzXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBhZGRWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSk6IHZvaWQge1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWxpZGF0b3JzKSkge1xuICAgICAgdmFsaWRhdG9ycyA9IFt2YWxpZGF0b3JzXTtcbiAgICB9XG5cbiAgICB2YWxpZGF0b3JzLmZvckVhY2godmFsaWRhdG9yID0+IHtcbiAgICAgIGlmICghdGhpcy5jb250cm9sLmhhc1ZhbGlkYXRvcih2YWxpZGF0b3IpKSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5hZGRWYWxpZGF0b3JzKHZhbGlkYXRvcik7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9uZ0NvbnRyb2w/LmNvbnRyb2wgJiYgIXRoaXMuX25nQ29udHJvbC5jb250cm9sLmhhc1ZhbGlkYXRvcih2YWxpZGF0b3IpKSB7XG4gICAgICAgIHRoaXMuX25nQ29udHJvbC5jb250cm9sLmFkZFZhbGlkYXRvcnModmFsaWRhdG9yKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBvcnRzIHdoZXRoZXIgdGhlIGNvbnRyb2wgd2l0aCB0aGUgZ2l2ZW4gcGF0aCBoYXMgdGhlIGVycm9yIHNwZWNpZmllZC4gPGJyLz5cbiAgICogSWYgdGhlIGNvbnRyb2wgaXMgbm90IHByZXNlbnQsIGZhbHNlIGlzIHJldHVybmVkLlxuICAgKiBAcGFyYW0gZXJyb3JDb2RlIFRoZSBjb2RlIG9mIHRoZSBlcnJvciB0byBjaGVja1xuICAgKiBAcGFyYW0gcGF0aCBBIGxpc3Qgb2YgY29udHJvbCBuYW1lcyB0aGF0IGRlc2lnbmF0ZXMgaG93IHRvIG1vdmUgZnJvbSB0aGUgY3VycmVudCBjb250cm9sXG4gICAqIHRvIHRoZSBjb250cm9sIHRoYXQgc2hvdWxkIGJlIHF1ZXJpZWQgZm9yIGVycm9ycy5cbiAgICogQHJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gZXJyb3IgaXMgcHJlc2VudCBpbiB0aGUgY29udHJvbCBhdCB0aGUgZ2l2ZW4gcGF0aC5cbiAgICovXG4gIHB1YmxpYyBoYXNFcnJvcihlcnJvckNvZGU6IHN0cmluZywgcGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fbmdDb250cm9sKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbmdDb250cm9sLmhhc0Vycm9yKGVycm9yQ29kZSwgcGF0aCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuaGFzRXJyb3IoZXJyb3JDb2RlLCBwYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBvcnRzIGVycm9yIGRhdGEgZm9yIHRoZSBjb250cm9sIHdpdGggdGhlIGdpdmVuIHBhdGguXG4gICAqIEBwYXJhbSBlcnJvckNvZGUgVGhlIGNvZGUgb2YgdGhlIGVycm9yIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBwYXRoIEEgbGlzdCBvZiBjb250cm9sIG5hbWVzIHRoYXQgZGVzaWduYXRlcyBob3cgdG8gbW92ZSBmcm9tIHRoZSBjdXJyZW50IGNvbnRyb2xcbiAgICogdG8gdGhlIGNvbnRyb2wgdGhhdCBzaG91bGQgYmUgcXVlcmllZCBmb3IgZXJyb3JzLlxuICAgKiBAcmV0dXJucyBlcnJvciBkYXRhIGZvciB0aGF0IHBhcnRpY3VsYXIgZXJyb3IuIElmIHRoZSBjb250cm9sIG9yIGVycm9yIGlzIG5vdCBwcmVzZW50LFxuICAgKiBudWxsIGlzIHJldHVybmVkLlxuICAgKi9cbiAgcHVibGljIGdldEVycm9yKGVycm9yQ29kZTogc3RyaW5nLCBwYXRoPzogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKHRoaXMuX25nQ29udHJvbCkge1xuICAgICAgcmV0dXJuIHRoaXMuX25nQ29udHJvbC5nZXRFcnJvcihlcnJvckNvZGUsIHBhdGgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmdldEVycm9yKGVycm9yQ29kZSwgcGF0aCk7XG4gIH1cblxuICAvLyBUaGlzIGZ1bmN0aW9uIGFzc3VyZXN0IHRoYXQgdmFsaWRhdGlvbiBtb2RlIHJlbWFpbnMgY29tcGxhaWFudCB3aXRoIHRoZSBEZXNpZ24ga2l0XG4gIC8vIFdoZW4gdGhlIHZhbGlkYXRpb24gbW9kZSBpcyBgZmFsc2VgIGFuZCBpbnB1dCBlbGVtZW50cyBhcmUgd3JhcHBlZCBpbiBhIGBGb3JtR3JvdXBgXG4gIC8vIHZhbGlkYXRpb24gbW9kZSBpcyBhdXRvbWF0aWNhbGx5IHNldCB0byBgdHJ1ZWAuXG4gIHByaXZhdGUgc2V0VmFsaWRhdGlvbk1vZGVXaGVuSW5BRm9ybSgpIHtcbiAgICBjb25zdCBpc0luQUZvcm06IGJvb2xlYW4gPSB0aGlzLmZnZD8uY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cDtcbiAgICBpZiAoaXNJbkFGb3JtICYmIHRoaXMudmFsaWRhdGlvbk1vZGUgPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbk1vZGUgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,46 @@
1
+ import { ChangeDetectorRef, Component, ElementRef, EventEmitter, inject, Input, Output, Renderer2, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ItAbstractComponent {
4
+ /**
5
+ * Counter of active instances
6
+ * @private
7
+ */
8
+ static { this.instances = 0; }
9
+ constructor() {
10
+ /**
11
+ * The element ID
12
+ */
13
+ this.id = this.getDefaultId();
14
+ this._renderer = inject(Renderer2);
15
+ this._elementRef = inject(ElementRef);
16
+ this._changeDetectorRef = inject(ChangeDetectorRef);
17
+ this.valueChanges = new EventEmitter();
18
+ }
19
+ ngAfterViewInit() {
20
+ this._renderer.removeAttribute(this._elementRef.nativeElement, 'id');
21
+ }
22
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
23
+ ngOnChanges(changes) {
24
+ this.valueChanges.next(); // The inputs were changed
25
+ }
26
+ /**
27
+ * Generate unique id for components
28
+ * @private
29
+ */
30
+ getDefaultId() {
31
+ const name = this.constructor.name.replace('Component', '');
32
+ const kebabName = name.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());
33
+ return `${kebabName}-${ItAbstractComponent.instances++}`;
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAbstractComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: ItAbstractComponent, selector: "ng-component", inputs: { id: "id" }, outputs: { valueChanges: "valueChanges" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAbstractComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ template: '' }]
41
+ }], ctorParameters: () => [], propDecorators: { id: [{
42
+ type: Input
43
+ }], valueChanges: [{
44
+ type: Output
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvYWJzdHJhY3RzL2Fic3RyYWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsR0FFVixNQUFNLGVBQWUsQ0FBQzs7QUFHdkIsTUFBTSxPQUFnQixtQkFBbUI7SUFXdkM7OztPQUdHO2FBQ1ksY0FBUyxHQUFHLENBQUMsQUFBSixDQUFLO0lBTTdCO1FBcEJBOztXQUVHO1FBQ00sT0FBRSxHQUFXLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQWtCeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQywwQkFBMEI7SUFDdEQsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVk7UUFDbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDekcsT0FBTyxHQUFHLFNBQVMsSUFBSSxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO0lBQzNELENBQUM7OEdBOUNtQixtQkFBbUI7a0dBQW5CLG1CQUFtQiwwSUFEbEIsRUFBRTs7MkZBQ0gsbUJBQW1CO2tCQUR4QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTt3REFLaEIsRUFBRTtzQkFBVixLQUFLO2dCQUtXLFlBQVk7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSXRBYnN0cmFjdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCBJRFxuICAgKi9cbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9IHRoaXMuZ2V0RGVmYXVsdElkKCk7XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gY29tcG9uZW50IGlucHV0IGF0dHJpYnV0ZXMgd2FzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgdmFsdWVDaGFuZ2VzOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgLyoqXG4gICAqIENvdW50ZXIgb2YgYWN0aXZlIGluc3RhbmNlc1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2VzID0gMDtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3JlbmRlcmVyOiBSZW5kZXJlcjI7IC8vIEluamVjdGVkXG4gIHByb3RlY3RlZCByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjsgLy8gSW5qZWN0ZWRcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWY7IC8vIEluamVjdGVkXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICB0aGlzLl9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIHRoaXMudmFsdWVDaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdpZCcpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZXMubmV4dCgpOyAvLyBUaGUgaW5wdXRzIHdlcmUgY2hhbmdlZFxuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgY29tcG9uZW50c1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXREZWZhdWx0SWQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLnJlcGxhY2UoJ0NvbXBvbmVudCcsICcnKTtcbiAgICBjb25zdCBrZWJhYk5hbWUgPSBuYW1lLnJlcGxhY2UoL1tBLVpdKyg/IVthLXpdKXxbQS1aXS9nLCAoJCwgb2ZzKSA9PiAob2ZzID8gJy0nIDogJycpICsgJC50b0xvd2VyQ2FzZSgpKTtcbiAgICByZXR1cm4gYCR7a2ViYWJOYW1lfS0ke0l0QWJzdHJhY3RDb21wb25lbnQuaW5zdGFuY2VzKyt9YDtcbiAgfVxufVxuIl19
@@ -0,0 +1,39 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
2
+ import { ItCollapseComponent } from '../collapse/collapse.component';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Accordion
6
+ * @description Build vertically collapsible accordions based on Collapse.
7
+ */
8
+ export class ItAccordionComponent extends ItCollapseComponent {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.isCollapsed = true;
12
+ }
13
+ ngAfterViewInit() {
14
+ super.ngAfterViewInit();
15
+ this._renderer.removeAttribute(this._elementRef.nativeElement, 'title');
16
+ this.isCollapsed = !this.opened;
17
+ this.hideEvent.subscribe(() => {
18
+ this.isCollapsed = true;
19
+ this._changeDetectorRef.detectChanges();
20
+ });
21
+ this.showEvent.subscribe(() => {
22
+ this.isCollapsed = false;
23
+ this._changeDetectorRef.detectChanges();
24
+ });
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAccordionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: ItAccordionComponent, isStandalone: true, selector: "it-accordion", inputs: { title: "title" }, viewQueries: [{ propertyName: "collapseDiv", first: true, predicate: ["collapse"], descendants: true }], exportAs: ["itAccordion"], usesInheritance: true, ngImport: i0, template: "<div class=\"accordion\">\n <div class=\"accordion-item\">\n <h2 class=\"accordion-header\" id=\"collapse-{{ id }}-heading\">\n <button\n class=\"accordion-button\"\n type=\"button\"\n data-bs-toggle=\"collapse\"\n [class.collapsed]=\"isCollapsed\"\n [attr.data-bs-target]=\"'#collapse-' + id\"\n [attr.aria-controls]=\"'collapse-' + id\"\n [attr.aria-expanded]=\"opened ? 'true' : 'false'\">\n {{ title }}\n </button>\n </h2>\n\n <div\n #collapse\n id=\"collapse-{{ id }}\"\n role=\"region\"\n class=\"accordion-collapse collapse {{ class }}\"\n [attr.aria-labelledby]=\"'collapse-' + id + '-heading'\">\n <div class=\"accordion-body\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAccordionComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ standalone: true, selector: 'it-accordion', exportAs: 'itAccordion', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<div class=\"accordion\">\n <div class=\"accordion-item\">\n <h2 class=\"accordion-header\" id=\"collapse-{{ id }}-heading\">\n <button\n class=\"accordion-button\"\n type=\"button\"\n data-bs-toggle=\"collapse\"\n [class.collapsed]=\"isCollapsed\"\n [attr.data-bs-target]=\"'#collapse-' + id\"\n [attr.aria-controls]=\"'collapse-' + id\"\n [attr.aria-expanded]=\"opened ? 'true' : 'false'\">\n {{ title }}\n </button>\n </h2>\n\n <div\n #collapse\n id=\"collapse-{{ id }}\"\n role=\"region\"\n class=\"accordion-collapse collapse {{ class }}\"\n [attr.aria-labelledby]=\"'collapse-' + id + '-heading'\">\n <div class=\"accordion-body\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n" }]
32
+ }], propDecorators: { title: [{
33
+ type: Input,
34
+ args: [{ required: true }]
35
+ }], collapseDiv: [{
36
+ type: ViewChild,
37
+ args: ['collapse']
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRXJFOzs7R0FHRztBQVNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUFSN0Q7O1FBZ0JZLGdCQUFXLEdBQVksSUFBSSxDQUFDO0tBZ0J2QztJQWRVLGVBQWU7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhFLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F2QlUsb0JBQW9CO2tHQUFwQixvQkFBb0IsK1BDZmpDLDB6QkEyQkE7OzJGRFphLG9CQUFvQjtrQkFSaEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sY0FBYyxZQUVkLGFBQWEsbUJBQ04sdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxFQUFFOzhCQU1nQixLQUFLO3NCQUEvQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFaUIsV0FBVztzQkFBcEQsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXRDb2xsYXBzZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbGxhcHNlL2NvbGxhcHNlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQWNjb3JkaW9uXG4gKiBAZGVzY3JpcHRpb24gQnVpbGQgdmVydGljYWxseSBjb2xsYXBzaWJsZSBhY2NvcmRpb25zIGJhc2VkIG9uIENvbGxhcHNlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1hY2NvcmRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgZXhwb3J0QXM6ICdpdEFjY29yZGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgSXRBY2NvcmRpb25Db21wb25lbnQgZXh0ZW5kcyBJdENvbGxhcHNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKlxuICAgKiBBY2NvcmRpb24gVGl0bGVcbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRpdGxlITogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbGxhcHNlJykgcHJvdGVjdGVkIG92ZXJyaWRlIGNvbGxhcHNlRGl2PzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgcHJvdGVjdGVkIGlzQ29sbGFwc2VkOiBib29sZWFuID0gdHJ1ZTtcblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RpdGxlJyk7XG5cbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gIXRoaXMub3BlbmVkO1xuICAgIHRoaXMuaGlkZUV2ZW50LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmlzQ29sbGFwc2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgICB0aGlzLnNob3dFdmVudC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uXCI+XG4gIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24taXRlbVwiPlxuICAgIDxoMiBjbGFzcz1cImFjY29yZGlvbi1oZWFkZXJcIiBpZD1cImNvbGxhcHNlLXt7IGlkIH19LWhlYWRpbmdcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJhY2NvcmRpb24tYnV0dG9uXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGRhdGEtYnMtdG9nZ2xlPVwiY29sbGFwc2VcIlxuICAgICAgICBbY2xhc3MuY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkXCJcbiAgICAgICAgW2F0dHIuZGF0YS1icy10YXJnZXRdPVwiJyNjb2xsYXBzZS0nICsgaWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIidjb2xsYXBzZS0nICsgaWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm9wZW5lZCA/ICd0cnVlJyA6ICdmYWxzZSdcIj5cbiAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvaDI+XG5cbiAgICA8ZGl2XG4gICAgICAjY29sbGFwc2VcbiAgICAgIGlkPVwiY29sbGFwc2Ute3sgaWQgfX1cIlxuICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICBjbGFzcz1cImFjY29yZGlvbi1jb2xsYXBzZSBjb2xsYXBzZSB7eyBjbGFzcyB9fVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2NvbGxhcHNlLScgKyBpZCArICctaGVhZGluZydcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYm9keVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,71 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { ItAbstractComponent } from '../../../abstracts/abstract.component';
3
+ import { Alert } from 'bootstrap-italia';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { ItIconComponent } from '../../utils/icon/icon.component';
6
+ import { inputToBoolean } from '../../../utils/coercion';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngx-translate/core";
9
+ /**
10
+ * Alert
11
+ * @description You can provide feedback to the user via alert messages.
12
+ */
13
+ export class ItAlertComponent extends ItAbstractComponent {
14
+ constructor() {
15
+ super(...arguments);
16
+ /**
17
+ * The alert color
18
+ * @default info
19
+ */
20
+ this.color = 'info';
21
+ /**
22
+ * This event fires immediately when the instance's close method is called.
23
+ */
24
+ this.closeEvent = new EventEmitter();
25
+ /**
26
+ * This event fires when the alert has been closed (it will wait for CSS transitions to complete).
27
+ */
28
+ this.closedEvent = new EventEmitter();
29
+ }
30
+ ngAfterViewInit() {
31
+ super.ngAfterViewInit();
32
+ if (this.alertElement) {
33
+ const element = this.alertElement.nativeElement;
34
+ this.alert = Alert.getOrCreateInstance(element);
35
+ element.addEventListener('close.bs.alert', event => this.closeEvent.emit(event));
36
+ element.addEventListener('closed.bs.alert', event => this.closedEvent.emit(event));
37
+ }
38
+ }
39
+ /**
40
+ * Close an alert by removing it from the DOM.
41
+ * If the `.fade` and `.show` classes are present in the element, the alert will be closed with a disappearing effect.
42
+ */
43
+ close() {
44
+ this.alert?.close();
45
+ }
46
+ /**
47
+ * The alert is removed
48
+ */
49
+ dispose() {
50
+ this.alert?.dispose();
51
+ }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAlertComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItAlertComponent, isStandalone: true, selector: "it-alert", inputs: { color: "color", dismissible: ["dismissible", "dismissible", inputToBoolean] }, outputs: { closeEvent: "closeEvent", closedEvent: "closedEvent" }, viewQueries: [{ propertyName: "alertElement", first: true, predicate: ["alertElement"], descendants: true }], exportAs: ["itAlert"], usesInheritance: true, ngImport: i0, template: "<div\n #alertElement\n class=\"alert alert-{{ color }}\"\n [class.alert-dismissible]=\"dismissible\"\n [class.fade]=\"dismissible\"\n [class.show]=\"dismissible\"\n role=\"alert\">\n <h4 class=\"alert-heading\">\n <ng-content select=\"[heading]\"></ng-content>\n </h4>\n\n <ng-content></ng-content>\n\n @if (dismissible) {\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"alert\" [attr.aria-label]=\"'it.core.close-alert' | translate\">\n <it-icon name=\"close\"></it-icon>\n </button>\n }\n</div>\n", styles: [".alert-heading:empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "title", "labelWaria"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAlertComponent, decorators: [{
56
+ type: Component,
57
+ args: [{ standalone: true, selector: 'it-alert', exportAs: 'itAlert', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, ItIconComponent], template: "<div\n #alertElement\n class=\"alert alert-{{ color }}\"\n [class.alert-dismissible]=\"dismissible\"\n [class.fade]=\"dismissible\"\n [class.show]=\"dismissible\"\n role=\"alert\">\n <h4 class=\"alert-heading\">\n <ng-content select=\"[heading]\"></ng-content>\n </h4>\n\n <ng-content></ng-content>\n\n @if (dismissible) {\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"alert\" [attr.aria-label]=\"'it.core.close-alert' | translate\">\n <it-icon name=\"close\"></it-icon>\n </button>\n }\n</div>\n", styles: [".alert-heading:empty{display:none}\n"] }]
58
+ }], propDecorators: { color: [{
59
+ type: Input
60
+ }], dismissible: [{
61
+ type: Input,
62
+ args: [{ transform: inputToBoolean }]
63
+ }], closeEvent: [{
64
+ type: Output
65
+ }], closedEvent: [{
66
+ type: Output
67
+ }], alertElement: [{
68
+ type: ViewChild,
69
+ args: ['alertElement']
70
+ }] } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEksT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFFekQ7OztHQUdHO0FBVUgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG1CQUFtQjtJQVR6RDs7UUFVRTs7O1dBR0c7UUFDTSxVQUFLLEdBQWUsTUFBTSxDQUFDO1FBUXBDOztXQUVHO1FBQ2MsZUFBVSxHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXRFOztXQUVHO1FBQ2MsZ0JBQVcsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQWdDeEU7SUExQlUsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUM7WUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFaEQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNqRixPQUFPLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSztRQUNWLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0FwRFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0Isa0hBV1AsY0FBYyw0UENoQ3BDLDZoQkFtQkEsNkZEQVksZUFBZSw0RkFBRSxlQUFlOzsyRkFFL0IsZ0JBQWdCO2tCQVQ1QixTQUFTO2lDQUNJLElBQUksWUFDTixVQUFVLFlBR1YsU0FBUyxtQkFDRix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQzs4QkFPbEMsS0FBSztzQkFBYixLQUFLO2dCQU1nQyxXQUFXO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFLbkIsVUFBVTtzQkFBMUIsTUFBTTtnQkFLVSxXQUFXO3NCQUEzQixNQUFNO2dCQUk0QixZQUFZO3NCQUE5QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWxlcnRDb2xvciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvY29yZSc7XG5pbXBvcnQgeyBJdEFic3RyYWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYWJzdHJhY3RzL2Fic3RyYWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJ2Jvb3RzdHJhcC1pdGFsaWEnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJdEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi91dGlscy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IGlucHV0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29lcmNpb24nO1xuXG4vKipcbiAqIEFsZXJ0XG4gKiBAZGVzY3JpcHRpb24gWW91IGNhbiBwcm92aWRlIGZlZWRiYWNrIHRvIHRoZSB1c2VyIHZpYSBhbGVydCBtZXNzYWdlcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtYWxlcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbGVydC5jb21wb25lbnQuc2NzcyddLFxuICBleHBvcnRBczogJ2l0QWxlcnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZSwgSXRJY29uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgSXRBbGVydENvbXBvbmVudCBleHRlbmRzIEl0QWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFRoZSBhbGVydCBjb2xvclxuICAgKiBAZGVmYXVsdCBpbmZvXG4gICAqL1xuICBASW5wdXQoKSBjb2xvcjogQWxlcnRDb2xvciA9ICdpbmZvJztcblxuICAvKipcbiAgICogSW5zZXJ0cyB0aGUgY2xvc2UgYnV0dG9uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGRpc21pc3NpYmxlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhpcyBldmVudCBmaXJlcyBpbW1lZGlhdGVseSB3aGVuIHRoZSBpbnN0YW5jZSdzIGNsb3NlIG1ldGhvZCBpcyBjYWxsZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIGNsb3NlRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZmlyZXMgd2hlbiB0aGUgYWxlcnQgaGFzIGJlZW4gY2xvc2VkIChpdCB3aWxsIHdhaXQgZm9yIENTUyB0cmFuc2l0aW9ucyB0byBjb21wbGV0ZSkuXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIGNsb3NlZEV2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgYWxlcnQ/OiBBbGVydDtcblxuICBAVmlld0NoaWxkKCdhbGVydEVsZW1lbnQnKSBwcml2YXRlIGFsZXJ0RWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgIGlmICh0aGlzLmFsZXJ0RWxlbWVudCkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuYWxlcnRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICB0aGlzLmFsZXJ0ID0gQWxlcnQuZ2V0T3JDcmVhdGVJbnN0YW5jZShlbGVtZW50KTtcblxuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbG9zZS5icy5hbGVydCcsIGV2ZW50ID0+IHRoaXMuY2xvc2VFdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Nsb3NlZC5icy5hbGVydCcsIGV2ZW50ID0+IHRoaXMuY2xvc2VkRXZlbnQuZW1pdChldmVudCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZSBhbiBhbGVydCBieSByZW1vdmluZyBpdCBmcm9tIHRoZSBET00uXG4gICAqIElmIHRoZSBgLmZhZGVgIGFuZCBgLnNob3dgIGNsYXNzZXMgYXJlIHByZXNlbnQgaW4gdGhlIGVsZW1lbnQsIHRoZSBhbGVydCB3aWxsIGJlIGNsb3NlZCB3aXRoIGEgZGlzYXBwZWFyaW5nIGVmZmVjdC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmFsZXJ0Py5jbG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhbGVydCBpcyByZW1vdmVkXG4gICAqL1xuICBwdWJsaWMgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmFsZXJ0Py5kaXNwb3NlKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgI2FsZXJ0RWxlbWVudFxuICBjbGFzcz1cImFsZXJ0IGFsZXJ0LXt7IGNvbG9yIH19XCJcbiAgW2NsYXNzLmFsZXJ0LWRpc21pc3NpYmxlXT1cImRpc21pc3NpYmxlXCJcbiAgW2NsYXNzLmZhZGVdPVwiZGlzbWlzc2libGVcIlxuICBbY2xhc3Muc2hvd109XCJkaXNtaXNzaWJsZVwiXG4gIHJvbGU9XCJhbGVydFwiPlxuICA8aDQgY2xhc3M9XCJhbGVydC1oZWFkaW5nXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRpbmddXCI+PC9uZy1jb250ZW50PlxuICA8L2g0PlxuXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICBAaWYgKGRpc21pc3NpYmxlKSB7XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBkYXRhLWJzLWRpc21pc3M9XCJhbGVydFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2l0LmNvcmUuY2xvc2UtYWxlcnQnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8aXQtaWNvbiBuYW1lPVwiY2xvc2VcIj48L2l0LWljb24+XG4gICAgPC9idXR0b24+XG4gIH1cbjwvZGl2PlxuIl19
@@ -0,0 +1,43 @@
1
+ import { Component, ContentChildren, HostBinding, Input, TemplateRef, ViewChild } from '@angular/core';
2
+ import { ItDropdownModule } from '../../dropdown/dropdown.module';
3
+ import { NgTemplateOutlet } from '@angular/common';
4
+ import { RouterLink } from '@angular/router';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../dropdown/dropdown/dropdown.component";
7
+ export class ItAvatarDropdownItemComponent {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAvatarDropdownItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: ItAvatarDropdownItemComponent, isStandalone: true, selector: "it-avatar-dropdown-item", inputs: { link: "link", title: "title", accesskey: "accesskey", tabindex: "tabindex" }, viewQueries: [{ propertyName: "_implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: '<ng-template><ng-content></ng-content></ng-template>', isInline: true, styles: [".link-list-wrapper{z-index:2;position:relative}a{cursor:pointer}:host ::ng-deep .dropdown-toggle{width:100%;height:100%}:host ::ng-deep .dropdown-toggle .icon{display:none}\n"] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAvatarDropdownItemComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ standalone: true, selector: 'it-avatar-dropdown-item', template: '<ng-template><ng-content></ng-content></ng-template>', imports: [NgTemplateOutlet], styles: [".link-list-wrapper{z-index:2;position:relative}a{cursor:pointer}:host ::ng-deep .dropdown-toggle{width:100%;height:100%}:host ::ng-deep .dropdown-toggle .icon{display:none}\n"] }]
14
+ }], propDecorators: { _implicitContent: [{
15
+ type: ViewChild,
16
+ args: [TemplateRef, { static: true }]
17
+ }], link: [{
18
+ type: Input
19
+ }], title: [{
20
+ type: Input
21
+ }], accesskey: [{
22
+ type: Input
23
+ }], tabindex: [{
24
+ type: Input
25
+ }] } });
26
+ export class ItAvatarDropdownComponent {
27
+ constructor() {
28
+ this.componentClass = 'avatar avatar-dropdown';
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAvatarDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItAvatarDropdownComponent, isStandalone: true, selector: "it-avatar-dropdown", host: { properties: { "class": "this.componentClass" } }, queries: [{ propertyName: "items", predicate: ItAvatarDropdownItemComponent }], ngImport: i0, template: "<it-dropdown id=\"dropdown\" class=\"dropdown\">\n <ng-content button select=\"[it-avatar-dropdown-toggle]\"></ng-content>\n <ng-container list class=\"dropdown-menu\">\n @for (item of items; track item) {\n <li>\n @if (item.link) {\n <a\n [routerLink]=\"item.link\"\n class=\"dropdown-item list-item\"\n title=\"item.title\"\n accesskey=\"item.accesskey\"\n tabindex=\"item.tabindex\">\n <ng-template *ngTemplateOutlet=\"item._implicitContent\"></ng-template>\n </a>\n } @else {\n <div class=\"dropdown-item list-item\">\n <ng-template *ngTemplateOutlet=\"item._implicitContent\"></ng-template>\n </div>\n }\n </li>\n }\n </ng-container>\n</it-dropdown>\n", styles: [".link-list-wrapper{z-index:2;position:relative}a{cursor:pointer}:host ::ng-deep .dropdown-toggle{width:100%;height:100%}:host ::ng-deep .dropdown-toggle .icon{display:none}\n"], dependencies: [{ kind: "ngmodule", type: ItDropdownModule }, { kind: "component", type: i1.ItDropdownComponent, selector: "it-dropdown", inputs: ["mode", "color", "direction", "fullWidth", "megamenu", "dark"], outputs: ["showEvent", "shownEvent", "hideEvent", "hiddenEvent"], exportAs: ["itDropdown"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAvatarDropdownComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ standalone: true, selector: 'it-avatar-dropdown', imports: [ItDropdownModule, NgTemplateOutlet, RouterLink], template: "<it-dropdown id=\"dropdown\" class=\"dropdown\">\n <ng-content button select=\"[it-avatar-dropdown-toggle]\"></ng-content>\n <ng-container list class=\"dropdown-menu\">\n @for (item of items; track item) {\n <li>\n @if (item.link) {\n <a\n [routerLink]=\"item.link\"\n class=\"dropdown-item list-item\"\n title=\"item.title\"\n accesskey=\"item.accesskey\"\n tabindex=\"item.tabindex\">\n <ng-template *ngTemplateOutlet=\"item._implicitContent\"></ng-template>\n </a>\n } @else {\n <div class=\"dropdown-item list-item\">\n <ng-template *ngTemplateOutlet=\"item._implicitContent\"></ng-template>\n </div>\n }\n </li>\n }\n </ng-container>\n</it-dropdown>\n", styles: [".link-list-wrapper{z-index:2;position:relative}a{cursor:pointer}:host ::ng-deep .dropdown-toggle{width:100%;height:100%}:host ::ng-deep .dropdown-toggle .icon{display:none}\n"] }]
36
+ }], propDecorators: { componentClass: [{
37
+ type: HostBinding,
38
+ args: ['class']
39
+ }], items: [{
40
+ type: ContentChildren,
41
+ args: [ItAvatarDropdownItemComponent]
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9hdmF0YXIvYXZhdGFyLWRyb3Bkb3duL2F2YXRhci1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvYXZhdGFyL2F2YXRhci1kcm9wZG93bi9hdmF0YXItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUzdDLE1BQU0sT0FBTyw2QkFBNkI7OEdBQTdCLDZCQUE2QjtrR0FBN0IsNkJBQTZCLDZOQUU3QixXQUFXLDhEQU5aLHNEQUFzRDs7MkZBSXJELDZCQUE2QjtrQkFQekMsU0FBUztpQ0FDSSxJQUFJLFlBQ04seUJBQXlCLFlBQ3pCLHNEQUFzRCxXQUV2RCxDQUFDLGdCQUFnQixDQUFDOzhCQUllLGdCQUFnQjtzQkFBekQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU0vQixJQUFJO3NCQUFaLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSzs7QUFVUixNQUFNLE9BQU8seUJBQXlCO0lBUHRDO1FBUXdCLG1CQUFjLEdBQUcsd0JBQXdCLENBQUM7S0FHakU7OEdBSlkseUJBQXlCO2tHQUF6Qix5QkFBeUIsOEpBR25CLDZCQUE2Qiw2QkNoRGhELDJ5QkF1QkEsdU9Eb0JZLGdCQUFnQixrUkFBRSxnQkFBZ0Isb0pBQUUsVUFBVTs7MkZBRTdDLHlCQUF5QjtrQkFQckMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sb0JBQW9CLFdBR3JCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDOzhCQUduQyxjQUFjO3NCQUFuQyxXQUFXO3VCQUFDLE9BQU87Z0JBRTRCLEtBQUs7c0JBQXBELGVBQWU7dUJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEhvc3RCaW5kaW5nLCBJbnB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi4vLi4vZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LWF2YXRhci1kcm9wZG93bi1pdGVtJyxcbiAgdGVtcGxhdGU6ICc8bmctdGVtcGxhdGU+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvbmctdGVtcGxhdGU+JyxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0XSxcbn0pXG5leHBvcnQgY2xhc3MgSXRBdmF0YXJEcm9wZG93bkl0ZW1Db21wb25lbnQge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KSBfaW1wbGljaXRDb250ZW50ITogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICogSW5kaWNhIGlsIGxpbmsgY2hlIHBvc3NpYW1vIHBhc3NhcmUgYWxsJ2VsZW1lbnRvXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBASW5wdXQoKSBsaW5rOiBzdHJpbmcgfCBhbnlbXSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFBlcm1ldHRlIGRpIHV0aWxpenphcmUgbCdhdHRyaWJ1dG8gaHRtbCB0aXRsZVxuICAgKi9cbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBlcm1ldHRlIGRpIHV0aWxpenphcmUgbCdhdHRyaWJ1dG8gaHRtbCBhY2Nlc3NrZXlcbiAgICovXG4gIEBJbnB1dCgpIGFjY2Vzc2tleT86IHN0cmluZztcblxuICAvKipcbiAgICogUGVybWV0dGUgZGkgdXRpbGl6emFyZSBsJ2F0dHJpYnV0byBodG1sIHRhYmluZGV4XG4gICAqL1xuICBASW5wdXQoKSB0YWJpbmRleD86IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtYXZhdGFyLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F2YXRhci1kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbSXREcm9wZG93bk1vZHVsZSwgTmdUZW1wbGF0ZU91dGxldCwgUm91dGVyTGlua10sXG59KVxuZXhwb3J0IGNsYXNzIEl0QXZhdGFyRHJvcGRvd25Db21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY29tcG9uZW50Q2xhc3MgPSAnYXZhdGFyIGF2YXRhci1kcm9wZG93bic7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihJdEF2YXRhckRyb3Bkb3duSXRlbUNvbXBvbmVudCkgaXRlbXMhOiBRdWVyeUxpc3Q8SXRBdmF0YXJEcm9wZG93bkl0ZW1Db21wb25lbnQ+O1xufVxuIiwiPGl0LWRyb3Bkb3duIGlkPVwiZHJvcGRvd25cIiBjbGFzcz1cImRyb3Bkb3duXCI+XG4gIDxuZy1jb250ZW50IGJ1dHRvbiBzZWxlY3Q9XCJbaXQtYXZhdGFyLWRyb3Bkb3duLXRvZ2dsZV1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250YWluZXIgbGlzdCBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIj5cbiAgICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtKSB7XG4gICAgICA8bGk+XG4gICAgICAgIEBpZiAoaXRlbS5saW5rKSB7XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ubGlua1wiXG4gICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gbGlzdC1pdGVtXCJcbiAgICAgICAgICAgIHRpdGxlPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgICBhY2Nlc3NrZXk9XCJpdGVtLmFjY2Vzc2tleVwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIml0ZW0udGFiaW5kZXhcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW0uX2ltcGxpY2l0Q29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbSBsaXN0LWl0ZW1cIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW0uX2ltcGxpY2l0Q29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvbGk+XG4gICAgfVxuICA8L25nLWNvbnRhaW5lcj5cbjwvaXQtZHJvcGRvd24+XG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { Directive, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ItAvatarExtraTextDirective {
4
+ get hostClasses() {
5
+ const cssClass = 'extra-text';
6
+ return cssClass;
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAvatarExtraTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: ItAvatarExtraTextDirective, isStandalone: true, selector: "[itAvatarExtraText]", host: { properties: { "class": "this.hostClasses" } }, exportAs: ["itAvatarExtraText"], ngImport: i0 }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItAvatarExtraTextDirective, decorators: [{
12
+ type: Directive,
13
+ args: [{
14
+ standalone: true,
15
+ selector: '[itAvatarExtraText]',
16
+ exportAs: 'itAvatarExtraText',
17
+ }]
18
+ }], propDecorators: { hostClasses: [{
19
+ type: HostBinding,
20
+ args: ['class']
21
+ }] } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWV4dHJhLXRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2F2YXRhci9hdmF0YXItZXh0cmEtdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT3ZELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsSUFDSSxXQUFXO1FBQ2IsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OEdBTFUsMEJBQTBCO2tHQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOzhCQUdLLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbaXRBdmF0YXJFeHRyYVRleHRdJyxcbiAgZXhwb3J0QXM6ICdpdEF2YXRhckV4dHJhVGV4dCcsXG59KVxuZXhwb3J0IGNsYXNzIEl0QXZhdGFyRXh0cmFUZXh0RGlyZWN0aXZlIHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNzc0NsYXNzID0gJ2V4dHJhLXRleHQnO1xuICAgIHJldHVybiBjc3NDbGFzcztcbiAgfVxufVxuIl19