design-angular-kit 1.2.0 → 1.2.1

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 (545) hide show
  1. package/.eslintrc.json +31 -0
  2. package/karma.conf.js +38 -0
  3. package/ng-package.json +9 -0
  4. package/ng-package.prod.json +8 -0
  5. package/package.json +9 -14
  6. package/schematics/ng-add/index.spec.ts +45 -0
  7. package/schematics/ng-add/index.ts +36 -0
  8. package/schematics/ng-add/rules/setup-project/add-animations.ts +7 -0
  9. package/schematics/ng-add/rules/setup-project/add-assets.ts +45 -0
  10. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.ts +40 -0
  11. package/schematics/ng-add/rules/setup-project/add-http-client.ts +7 -0
  12. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.ts +120 -0
  13. package/schematics/ng-add/rules/setup-project/add-localisation.ts +45 -0
  14. package/schematics/ng-add/rules/setup-project/angular-json-helper.ts +11 -0
  15. package/schematics/ng-add/rules/setup-project/exceptions.ts +13 -0
  16. package/schematics/ng-add/{schema.d.ts → schema.ts} +1 -1
  17. package/schematics/ng-add/setup-project.spec.ts +166 -0
  18. package/schematics/ng-add/setup-project.ts +31 -0
  19. package/schematics/ng-add/utils.ts +71 -0
  20. package/schematics/ng-add/versions-helper.ts +41 -0
  21. package/src/lib/abstracts/abstract-form.component.ts +200 -0
  22. package/src/lib/abstracts/abstract.component.ts +63 -0
  23. package/src/lib/components/core/accordion/accordion.component.html +27 -0
  24. package/src/lib/components/core/accordion/accordion.component.spec.ts +21 -0
  25. package/src/lib/components/core/accordion/accordion.component.ts +40 -0
  26. package/src/lib/components/core/alert/alert.component.html +19 -0
  27. package/src/lib/components/core/alert/alert.component.scss +3 -0
  28. package/src/lib/components/core/alert/alert.component.spec.ts +62 -0
  29. package/src/lib/components/core/alert/alert.component.ts +75 -0
  30. package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.html +23 -0
  31. package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.scss +17 -0
  32. package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.spec.ts +21 -0
  33. package/src/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.ts +50 -0
  34. package/src/lib/components/core/avatar/avatar-group/avatar-group.component.html +7 -0
  35. package/src/lib/components/core/avatar/avatar-group/avatar-group.component.spec.ts +38 -0
  36. package/src/lib/components/core/avatar/avatar-group/avatar-group.component.ts +25 -0
  37. package/src/lib/components/core/avatar/avatar.directive.ts +73 -0
  38. package/src/lib/components/core/avatar/avatar.module.ts +18 -0
  39. package/src/lib/components/core/badge/badge.directive.spec.ts +59 -0
  40. package/src/lib/components/core/badge/badge.directive.ts +39 -0
  41. package/src/lib/components/core/button/button.directive.spec.ts +96 -0
  42. package/src/lib/components/core/button/button.directive.ts +89 -0
  43. package/src/lib/components/core/callout/callout.component.html +25 -0
  44. package/src/lib/components/core/callout/callout.component.spec.ts +138 -0
  45. package/src/lib/components/core/callout/callout.component.ts +92 -0
  46. package/src/lib/components/core/card/card.component.html +35 -0
  47. package/src/lib/components/core/card/card.component.scss +30 -0
  48. package/src/lib/components/core/card/card.component.spec.ts +21 -0
  49. package/src/lib/components/core/card/card.component.ts +78 -0
  50. package/src/lib/components/core/carousel/carousel/carousel.component.html +29 -0
  51. package/src/lib/components/core/carousel/carousel/carousel.component.scss +1 -0
  52. package/src/lib/components/core/carousel/carousel/carousel.component.spec.ts +21 -0
  53. package/src/lib/components/core/carousel/carousel/carousel.component.ts +119 -0
  54. package/src/lib/components/core/carousel/carousel-item/carousel-item.component.html +3 -0
  55. package/src/lib/components/core/carousel/carousel-item/carousel-item.component.spec.ts +22 -0
  56. package/src/lib/components/core/carousel/carousel-item/carousel-item.component.ts +20 -0
  57. package/src/lib/components/core/carousel/carousel.module.ts +11 -0
  58. package/src/lib/components/core/chip/chip.component.html +26 -0
  59. package/src/lib/components/core/chip/chip.component.spec.ts +87 -0
  60. package/src/lib/components/core/chip/chip.component.ts +154 -0
  61. package/src/lib/components/core/collapse/collapse.component.html +3 -0
  62. package/src/lib/components/core/collapse/collapse.component.spec.ts +21 -0
  63. package/src/lib/components/core/collapse/collapse.component.ts +124 -0
  64. package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.html +3 -0
  65. package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.spec.ts +35 -0
  66. package/src/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.ts +23 -0
  67. package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.html +3 -0
  68. package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.spec.ts +22 -0
  69. package/src/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.ts +10 -0
  70. package/src/lib/components/core/dimmer/dimmer.component.html +7 -0
  71. package/src/lib/components/core/dimmer/dimmer.component.spec.ts +49 -0
  72. package/src/lib/components/core/dimmer/dimmer.component.ts +50 -0
  73. package/src/lib/components/core/dimmer/dimmer.module.ts +12 -0
  74. package/src/lib/components/core/dropdown/dropdown/dropdown.component.html +45 -0
  75. package/src/lib/components/core/dropdown/dropdown/dropdown.component.scss +3 -0
  76. package/src/lib/components/core/dropdown/dropdown/dropdown.component.spec.ts +21 -0
  77. package/src/lib/components/core/dropdown/dropdown/dropdown.component.ts +186 -0
  78. package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.html +18 -0
  79. package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.scss +4 -0
  80. package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.spec.ts +21 -0
  81. package/src/lib/components/core/dropdown/dropdown-item/dropdown-item.component.ts +82 -0
  82. package/src/lib/components/core/dropdown/dropdown.module.ts +11 -0
  83. package/src/lib/components/core/forward/forward.directive.spec.ts +60 -0
  84. package/src/lib/components/core/forward/forward.directive.ts +43 -0
  85. package/src/lib/components/core/link/link.component.html +13 -0
  86. package/src/lib/components/core/link/link.component.spec.ts +21 -0
  87. package/src/lib/components/core/link/link.component.ts +54 -0
  88. package/src/lib/components/core/list/list/list.component.html +13 -0
  89. package/src/lib/components/core/list/list/list.component.spec.ts +21 -0
  90. package/src/lib/components/core/list/list/list.component.ts +30 -0
  91. package/src/lib/components/core/list/list-item/list-item.component.html +42 -0
  92. package/src/lib/components/core/list/list-item/list-item.component.scss +16 -0
  93. package/src/lib/components/core/list/list-item/list-item.component.spec.ts +21 -0
  94. package/src/lib/components/core/list/list-item/list-item.component.ts +75 -0
  95. package/src/lib/components/core/list/list.module.ts +11 -0
  96. package/src/lib/components/core/modal/modal.component.html +36 -0
  97. package/src/lib/components/core/modal/modal.component.scss +3 -0
  98. package/src/lib/components/core/modal/modal.component.spec.ts +21 -0
  99. package/src/lib/components/core/modal/modal.component.ts +218 -0
  100. package/src/lib/components/core/notifications/notifications.component.html +25 -0
  101. package/src/lib/components/core/notifications/notifications.component.scss +3 -0
  102. package/src/lib/components/core/notifications/notifications.component.spec.ts +21 -0
  103. package/src/lib/components/core/notifications/notifications.component.ts +123 -0
  104. package/src/lib/components/core/pagination/pagination.component.html +107 -0
  105. package/src/lib/components/core/pagination/pagination.component.spec.ts +21 -0
  106. package/src/lib/components/core/pagination/pagination.component.ts +157 -0
  107. package/src/lib/components/core/popover/popover.directive.spec.ts +21 -0
  108. package/src/lib/components/core/popover/popover.directive.ts +171 -0
  109. package/src/lib/components/core/progress-bar/progress-bar.component.html +20 -0
  110. package/src/lib/components/core/progress-bar/progress-bar.component.spec.ts +21 -0
  111. package/src/lib/components/core/progress-bar/progress-bar.component.ts +46 -0
  112. package/src/lib/components/core/progress-button/progress-button.component.html +5 -0
  113. package/src/lib/components/core/progress-button/progress-button.component.spec.ts +21 -0
  114. package/src/lib/components/core/progress-button/progress-button.component.ts +39 -0
  115. package/src/lib/components/core/spinner/spinner.component.html +7 -0
  116. package/src/lib/components/core/spinner/spinner.component.spec.ts +80 -0
  117. package/src/lib/components/core/spinner/spinner.component.ts +31 -0
  118. package/src/lib/components/core/steppers/steppers-container/steppers-container.component.html +126 -0
  119. package/src/lib/components/core/steppers/steppers-container/steppers-container.component.spec.ts +21 -0
  120. package/src/lib/components/core/steppers/steppers-container/steppers-container.component.ts +185 -0
  121. package/src/lib/components/core/steppers/steppers-item/steppers-item.component.html +3 -0
  122. package/src/lib/components/core/steppers/steppers-item/steppers-item.component.spec.ts +22 -0
  123. package/src/lib/components/core/steppers/steppers-item/steppers-item.component.ts +33 -0
  124. package/src/lib/components/core/steppers/steppers.module.ts +11 -0
  125. package/src/lib/components/core/tab/tab-container/tab-container.component.html +78 -0
  126. package/src/lib/components/core/tab/tab-container/tab-container.component.spec.ts +21 -0
  127. package/src/lib/components/core/tab/tab-container/tab-container.component.ts +137 -0
  128. package/src/lib/components/core/tab/tab-item/tab-item.component.html +3 -0
  129. package/src/lib/components/core/tab/tab-item/tab-item.component.spec.ts +22 -0
  130. package/src/lib/components/core/tab/tab-item/tab-item.component.ts +50 -0
  131. package/src/lib/components/core/tab/tab.module.ts +11 -0
  132. package/src/lib/components/core/table/sort/sort-header/sort-header.component.html +27 -0
  133. package/src/lib/components/core/table/sort/sort-header/sort-header.component.scss +65 -0
  134. package/src/lib/components/core/table/sort/sort-header/sort-header.component.spec.ts +25 -0
  135. package/src/lib/components/core/table/sort/sort-header/sort-header.component.ts +164 -0
  136. package/src/lib/components/core/table/sort/sort.directive.spec.ts +73 -0
  137. package/src/lib/components/core/table/sort/sort.directive.ts +142 -0
  138. package/src/lib/components/core/table/table.component.html +23 -0
  139. package/src/lib/components/core/table/table.component.scss +7 -0
  140. package/src/lib/components/core/table/table.component.spec.ts +21 -0
  141. package/src/lib/components/core/table/table.component.ts +70 -0
  142. package/src/lib/components/core/table/table.module.ts +12 -0
  143. package/src/lib/components/core/timeline/timeline-item/timeline-item.component.html +47 -0
  144. package/src/lib/components/core/timeline/timeline-item/timeline-item.component.spec.ts +24 -0
  145. package/src/lib/components/core/timeline/timeline-item/timeline-item.component.ts +102 -0
  146. package/src/lib/components/core/timeline/timeline.component.html +21 -0
  147. package/src/lib/components/core/timeline/timeline.component.spec.ts +21 -0
  148. package/src/lib/components/core/timeline/timeline.component.ts +31 -0
  149. package/src/lib/components/core/timeline/timeline.module.ts +11 -0
  150. package/src/lib/components/core/tooltip/tooltip.directive.spec.ts +20 -0
  151. package/src/lib/components/core/tooltip/tooltip.directive.ts +141 -0
  152. package/src/lib/components/form/autocomplete/autocomplete.component.html +58 -0
  153. package/src/lib/components/form/autocomplete/autocomplete.component.spec.ts +21 -0
  154. package/src/lib/components/form/autocomplete/autocomplete.component.ts +130 -0
  155. package/src/lib/components/form/checkbox/checkbox.component.html +67 -0
  156. package/src/lib/components/form/checkbox/checkbox.component.spec.ts +21 -0
  157. package/src/lib/components/form/checkbox/checkbox.component.ts +65 -0
  158. package/src/lib/components/form/form.module.ts +34 -0
  159. package/src/lib/components/form/input/input.component.html +92 -0
  160. package/src/lib/components/form/input/input.component.scss +29 -0
  161. package/src/lib/components/form/input/input.component.spec.ts +21 -0
  162. package/src/lib/components/form/input/input.component.ts +234 -0
  163. package/src/lib/components/form/password-input/password-input.component.html +65 -0
  164. package/src/lib/components/form/password-input/password-input.component.scss +9 -0
  165. package/src/lib/components/form/password-input/password-input.component.spec.ts +21 -0
  166. package/src/lib/components/form/password-input/password-input.component.ts +171 -0
  167. package/src/lib/components/form/radio-button/radio-button.component.html +50 -0
  168. package/src/lib/components/form/radio-button/radio-button.component.scss +14 -0
  169. package/src/lib/components/form/radio-button/radio-button.component.spec.ts +21 -0
  170. package/src/lib/components/form/radio-button/radio-button.component.ts +82 -0
  171. package/src/lib/components/form/range/range.component.html +17 -0
  172. package/src/lib/components/form/range/range.component.scss +17 -0
  173. package/src/lib/components/form/range/range.component.spec.ts +21 -0
  174. package/src/lib/components/form/range/range.component.ts +100 -0
  175. package/src/lib/components/form/rating/rating.component.html +24 -0
  176. package/src/lib/components/form/rating/rating.component.spec.ts +21 -0
  177. package/src/lib/components/form/rating/rating.component.ts +52 -0
  178. package/src/lib/components/form/select/select.component.html +54 -0
  179. package/src/lib/components/form/select/select.component.scss +3 -0
  180. package/src/lib/components/form/select/select.component.spec.ts +22 -0
  181. package/src/lib/components/form/select/select.component.ts +91 -0
  182. package/src/lib/components/form/textarea/textarea.component.html +28 -0
  183. package/src/lib/components/form/textarea/textarea.component.scss +12 -0
  184. package/src/lib/components/form/textarea/textarea.component.spec.ts +21 -0
  185. package/src/lib/components/form/textarea/textarea.component.ts +61 -0
  186. package/src/lib/components/form/transfer/store/transfer.reducers.ts +242 -0
  187. package/src/lib/components/form/transfer/store/transfer.state.ts +20 -0
  188. package/src/lib/components/form/transfer/store/transfer.store.ts +88 -0
  189. package/src/lib/components/form/transfer/transfer-list/transfer-list.component.html +42 -0
  190. package/src/lib/components/form/transfer/transfer-list/transfer-list.component.spec.ts +33 -0
  191. package/src/lib/components/form/transfer/transfer-list/transfer-list.component.ts +93 -0
  192. package/src/lib/components/form/transfer/transfer.component.html +52 -0
  193. package/src/lib/components/form/transfer/transfer.component.spec.ts +27 -0
  194. package/src/lib/components/form/transfer/transfer.component.ts +159 -0
  195. package/{lib/components/form/transfer/transfer.model.d.ts → src/lib/components/form/transfer/transfer.model.ts} +9 -2
  196. package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.html +36 -0
  197. package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.spec.ts +21 -0
  198. package/src/lib/components/form/upload-drag-drop/upload-drag-drop.component.ts +170 -0
  199. package/src/lib/components/form/upload-file-list/upload-file-list.component.html +46 -0
  200. package/src/lib/components/form/upload-file-list/upload-file-list.component.spec.ts +22 -0
  201. package/src/lib/components/form/upload-file-list/upload-file-list.component.ts +120 -0
  202. package/src/lib/components/navigation/back-button/back-button.component.html +25 -0
  203. package/src/lib/components/navigation/back-button/back-button.component.spec.ts +91 -0
  204. package/src/lib/components/navigation/back-button/back-button.component.ts +67 -0
  205. package/src/lib/components/navigation/back-to-top/back-to-top.component.html +11 -0
  206. package/src/lib/components/navigation/back-to-top/back-to-top.component.spec.ts +21 -0
  207. package/src/lib/components/navigation/back-to-top/back-to-top.component.ts +80 -0
  208. package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.html +23 -0
  209. package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.spec.ts +21 -0
  210. package/src/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.ts +68 -0
  211. package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.html +3 -0
  212. package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.spec.ts +22 -0
  213. package/src/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.ts +29 -0
  214. package/src/lib/components/navigation/breadcrumbs/breadcrumbs.module.ts +11 -0
  215. package/src/lib/components/navigation/header/header.component.html +102 -0
  216. package/src/lib/components/navigation/header/header.component.scss +3 -0
  217. package/src/lib/components/navigation/header/header.component.spec.ts +21 -0
  218. package/src/lib/components/navigation/header/header.component.ts +107 -0
  219. package/src/lib/components/navigation/megamenu/megamenu.component.html +34 -0
  220. package/src/lib/components/navigation/megamenu/megamenu.component.scss +5 -0
  221. package/src/lib/components/navigation/megamenu/megamenu.component.ts +30 -0
  222. package/src/lib/components/navigation/navbar/navbar/navbar.component.html +28 -0
  223. package/src/lib/components/navigation/navbar/navbar/navbar.component.ts +45 -0
  224. package/src/lib/components/navigation/navbar/navbar-item/navbar-item.component.html +3 -0
  225. package/src/lib/components/navigation/navbar/navbar-item/navbar-item.component.ts +10 -0
  226. package/src/lib/components/navigation/navbar/navbar.module.ts +11 -0
  227. package/src/lib/components/navigation/navscroll/navscroll-list-item.component.ts +95 -0
  228. package/src/lib/components/navigation/navscroll/navscroll-list-items.component.ts +27 -0
  229. package/src/lib/components/navigation/navscroll/navscroll.component.html +101 -0
  230. package/src/lib/components/navigation/navscroll/navscroll.component.scss +9 -0
  231. package/src/lib/components/navigation/navscroll/navscroll.component.ts +143 -0
  232. package/{lib/components/navigation/navscroll/navscroll.model.d.ts → src/lib/components/navigation/navscroll/navscroll.model.ts} +7 -5
  233. package/src/lib/components/navigation/navscroll/navscroll.store.ts +96 -0
  234. package/src/lib/components/navigation/navscroll/navscroll.utils.ts +28 -0
  235. package/src/lib/components/navigation/sidebar/sidebar.component.html +11 -0
  236. package/src/lib/components/navigation/sidebar/sidebar.component.spec.ts +21 -0
  237. package/src/lib/components/navigation/sidebar/sidebar.component.ts +39 -0
  238. package/src/lib/components/navigation/skiplink/skiplink/skiplink.component.html +15 -0
  239. package/src/lib/components/navigation/skiplink/skiplink/skiplink.component.ts +27 -0
  240. package/src/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.html +15 -0
  241. package/src/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.ts +38 -0
  242. package/src/lib/components/navigation/skiplink/skiplink.module.ts +11 -0
  243. package/src/lib/components/utils/error-page/error-page.component.html +33 -0
  244. package/src/lib/components/utils/error-page/error-page.component.spec.ts +21 -0
  245. package/src/lib/components/utils/error-page/error-page.component.ts +79 -0
  246. package/src/lib/components/utils/icon/icon.component.html +6 -0
  247. package/src/lib/components/utils/icon/icon.component.spec.ts +21 -0
  248. package/src/lib/components/utils/icon/icon.component.ts +95 -0
  249. package/src/lib/components/utils/language-switcher/language-switcher.component.html +21 -0
  250. package/src/lib/components/utils/language-switcher/language-switcher.component.spec.ts +21 -0
  251. package/src/lib/components/utils/language-switcher/language-switcher.component.ts +56 -0
  252. package/src/lib/design-angular-kit.module.ts +131 -0
  253. package/src/lib/enums/colors.enums.ts +10 -0
  254. package/src/lib/enums/sizes.enum.ts +7 -0
  255. package/{lib/interfaces/core.d.ts → src/lib/interfaces/core.ts} +95 -53
  256. package/src/lib/interfaces/design-angular-kit-config.ts +34 -0
  257. package/src/lib/interfaces/form.ts +78 -0
  258. package/src/lib/interfaces/icon.ts +176 -0
  259. package/src/lib/interfaces/sortable-table.ts +42 -0
  260. package/src/lib/interfaces/utils.ts +11 -0
  261. package/src/lib/pipes/date-ago.pipe.ts +57 -0
  262. package/src/lib/pipes/duration.pipe.ts +112 -0
  263. package/src/lib/pipes/mark-matching-text.pipe.ts +43 -0
  264. package/src/lib/provide-design-angular-kit.ts +73 -0
  265. package/src/lib/services/notification/notification.service.spec.ts +16 -0
  266. package/src/lib/services/notification/notification.service.ts +119 -0
  267. package/{lib/utils/coercion.d.ts → src/lib/utils/coercion.ts} +7 -1
  268. package/src/lib/utils/date-utils.ts +184 -0
  269. package/src/lib/utils/file-utils.ts +80 -0
  270. package/src/lib/utils/regex.ts +44 -0
  271. package/src/lib/validators/it-validators.ts +193 -0
  272. package/{public_api.d.ts → src/public_api.ts} +43 -0
  273. package/src/test.ts +26 -0
  274. package/tsconfig.lib.json +24 -0
  275. package/tsconfig.lib.prod.json +9 -0
  276. package/tsconfig.schematics.json +25 -0
  277. package/tsconfig.spec.json +9 -0
  278. package/esm2022/design-angular-kit.mjs +0 -5
  279. package/esm2022/lib/abstracts/abstract-form.component.mjs +0 -186
  280. package/esm2022/lib/abstracts/abstract.component.mjs +0 -46
  281. package/esm2022/lib/components/core/accordion/accordion.component.mjs +0 -39
  282. package/esm2022/lib/components/core/alert/alert.component.mjs +0 -71
  283. package/esm2022/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.mjs +0 -43
  284. package/esm2022/lib/components/core/avatar/avatar-group/avatar-group.component.mjs +0 -40
  285. package/esm2022/lib/components/core/avatar/avatar.directive.mjs +0 -78
  286. package/esm2022/lib/components/core/avatar/avatar.module.mjs +0 -33
  287. package/esm2022/lib/components/core/badge/badge.directive.mjs +0 -39
  288. package/esm2022/lib/components/core/button/button.directive.mjs +0 -80
  289. package/esm2022/lib/components/core/callout/callout.component.mjs +0 -64
  290. package/esm2022/lib/components/core/card/card.component.mjs +0 -59
  291. package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +0 -84
  292. package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +0 -19
  293. package/esm2022/lib/components/core/carousel/carousel.module.mjs +0 -18
  294. package/esm2022/lib/components/core/chip/chip.component.mjs +0 -136
  295. package/esm2022/lib/components/core/collapse/collapse.component.mjs +0 -116
  296. package/esm2022/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +0 -27
  297. package/esm2022/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +0 -11
  298. package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +0 -55
  299. package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +0 -19
  300. package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +0 -144
  301. package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +0 -61
  302. package/esm2022/lib/components/core/dropdown/dropdown.module.mjs +0 -18
  303. package/esm2022/lib/components/core/forward/forward.directive.mjs +0 -57
  304. package/esm2022/lib/components/core/link/link.component.mjs +0 -42
  305. package/esm2022/lib/components/core/list/list/list.component.mjs +0 -22
  306. package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +0 -56
  307. package/esm2022/lib/components/core/list/list.module.mjs +0 -18
  308. package/esm2022/lib/components/core/modal/modal.component.mjs +0 -194
  309. package/esm2022/lib/components/core/notifications/notifications.component.mjs +0 -111
  310. package/esm2022/lib/components/core/pagination/pagination.component.mjs +0 -130
  311. package/esm2022/lib/components/core/popover/popover.directive.mjs +0 -176
  312. package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +0 -34
  313. package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +0 -25
  314. package/esm2022/lib/components/core/spinner/spinner.component.mjs +0 -30
  315. package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +0 -116
  316. package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +0 -22
  317. package/esm2022/lib/components/core/steppers/steppers.module.mjs +0 -18
  318. package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +0 -97
  319. package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +0 -39
  320. package/esm2022/lib/components/core/tab/tab.module.mjs +0 -18
  321. package/esm2022/lib/components/core/table/sort/sort-header/sort-header.component.mjs +0 -134
  322. package/esm2022/lib/components/core/table/sort/sort.directive.mjs +0 -123
  323. package/esm2022/lib/components/core/table/table.component.mjs +0 -45
  324. package/esm2022/lib/components/core/table/table.module.mjs +0 -19
  325. package/esm2022/lib/components/core/timeline/timeline-item/timeline-item.component.mjs +0 -90
  326. package/esm2022/lib/components/core/timeline/timeline.component.mjs +0 -36
  327. package/esm2022/lib/components/core/timeline/timeline.module.mjs +0 -18
  328. package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +0 -143
  329. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +0 -112
  330. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +0 -48
  331. package/esm2022/lib/components/form/form.module.mjs +0 -63
  332. package/esm2022/lib/components/form/input/input.component.mjs +0 -190
  333. package/esm2022/lib/components/form/password-input/password-input.component.mjs +0 -149
  334. package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +0 -60
  335. package/esm2022/lib/components/form/range/range.component.mjs +0 -64
  336. package/esm2022/lib/components/form/rating/rating.component.mjs +0 -50
  337. package/esm2022/lib/components/form/select/select.component.mjs +0 -70
  338. package/esm2022/lib/components/form/textarea/textarea.component.mjs +0 -55
  339. package/esm2022/lib/components/form/transfer/store/transfer.reducers.mjs +0 -191
  340. package/esm2022/lib/components/form/transfer/store/transfer.state.mjs +0 -2
  341. package/esm2022/lib/components/form/transfer/store/transfer.store.mjs +0 -70
  342. package/esm2022/lib/components/form/transfer/transfer-list/transfer-list.component.mjs +0 -72
  343. package/esm2022/lib/components/form/transfer/transfer.component.mjs +0 -149
  344. package/esm2022/lib/components/form/transfer/transfer.model.mjs +0 -6
  345. package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +0 -142
  346. package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +0 -107
  347. package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +0 -67
  348. package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +0 -68
  349. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -51
  350. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +0 -21
  351. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +0 -18
  352. package/esm2022/lib/components/navigation/header/header.component.mjs +0 -97
  353. package/esm2022/lib/components/navigation/megamenu/megamenu.component.mjs +0 -27
  354. package/esm2022/lib/components/navigation/navbar/navbar/navbar.component.mjs +0 -40
  355. package/esm2022/lib/components/navigation/navbar/navbar-item/navbar-item.component.mjs +0 -11
  356. package/esm2022/lib/components/navigation/navbar/navbar.module.mjs +0 -18
  357. package/esm2022/lib/components/navigation/navscroll/navscroll-list-item.component.mjs +0 -98
  358. package/esm2022/lib/components/navigation/navscroll/navscroll-list-items.component.mjs +0 -44
  359. package/esm2022/lib/components/navigation/navscroll/navscroll.component.mjs +0 -116
  360. package/esm2022/lib/components/navigation/navscroll/navscroll.model.mjs +0 -2
  361. package/esm2022/lib/components/navigation/navscroll/navscroll.store.mjs +0 -68
  362. package/esm2022/lib/components/navigation/navscroll/navscroll.utils.mjs +0 -23
  363. package/esm2022/lib/components/navigation/sidebar/sidebar.component.mjs +0 -50
  364. package/esm2022/lib/components/navigation/skiplink/skiplink/skiplink.component.mjs +0 -27
  365. package/esm2022/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.mjs +0 -26
  366. package/esm2022/lib/components/navigation/skiplink/skiplink.module.mjs +0 -18
  367. package/esm2022/lib/components/utils/error-page/error-page.component.mjs +0 -74
  368. package/esm2022/lib/components/utils/icon/icon.component.mjs +0 -63
  369. package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +0 -50
  370. package/esm2022/lib/design-angular-kit.module.mjs +0 -233
  371. package/esm2022/lib/enums/colors.enums.mjs +0 -12
  372. package/esm2022/lib/enums/sizes.enum.mjs +0 -9
  373. package/esm2022/lib/interfaces/core.mjs +0 -16
  374. package/esm2022/lib/interfaces/design-angular-kit-config.mjs +0 -7
  375. package/esm2022/lib/interfaces/form.mjs +0 -2
  376. package/esm2022/lib/interfaces/icon.mjs +0 -168
  377. package/esm2022/lib/interfaces/sortable-table.mjs +0 -6
  378. package/esm2022/lib/interfaces/utils.mjs +0 -2
  379. package/esm2022/lib/pipes/date-ago.pipe.mjs +0 -56
  380. package/esm2022/lib/pipes/duration.pipe.mjs +0 -115
  381. package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +0 -48
  382. package/esm2022/lib/provide-design-angular-kit.mjs +0 -64
  383. package/esm2022/lib/services/notification/notification.service.mjs +0 -120
  384. package/esm2022/lib/utils/coercion.mjs +0 -18
  385. package/esm2022/lib/utils/date-utils.mjs +0 -162
  386. package/esm2022/lib/utils/file-utils.mjs +0 -73
  387. package/esm2022/lib/utils/regex.mjs +0 -35
  388. package/esm2022/lib/validators/it-validators.mjs +0 -156
  389. package/esm2022/public_api.mjs +0 -110
  390. package/fesm2022/design-angular-kit.mjs +0 -6704
  391. package/fesm2022/design-angular-kit.mjs.map +0 -1
  392. package/index.d.ts +0 -5
  393. package/lib/abstracts/abstract-form.component.d.ts +0 -87
  394. package/lib/abstracts/abstract.component.d.ts +0 -30
  395. package/lib/components/core/accordion/accordion.component.d.ts +0 -18
  396. package/lib/components/core/alert/alert.component.d.ts +0 -44
  397. package/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.d.ts +0 -29
  398. package/lib/components/core/avatar/avatar-group/avatar-group.component.d.ts +0 -15
  399. package/lib/components/core/avatar/avatar.directive.d.ts +0 -33
  400. package/lib/components/core/avatar/avatar.module.d.ts +0 -9
  401. package/lib/components/core/badge/badge.directive.d.ts +0 -23
  402. package/lib/components/core/button/button.directive.d.ts +0 -48
  403. package/lib/components/core/callout/callout.component.d.ts +0 -50
  404. package/lib/components/core/card/card.component.d.ts +0 -69
  405. package/lib/components/core/carousel/carousel/carousel.component.d.ts +0 -65
  406. package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +0 -15
  407. package/lib/components/core/carousel/carousel.module.d.ts +0 -8
  408. package/lib/components/core/chip/chip.component.d.ts +0 -76
  409. package/lib/components/core/collapse/collapse.component.d.ts +0 -67
  410. package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +0 -12
  411. package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +0 -5
  412. package/lib/components/core/dimmer/dimmer.component.d.ts +0 -24
  413. package/lib/components/core/dimmer/dimmer.module.d.ts +0 -9
  414. package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +0 -94
  415. package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +0 -42
  416. package/lib/components/core/dropdown/dropdown.module.d.ts +0 -8
  417. package/lib/components/core/forward/forward.directive.d.ts +0 -14
  418. package/lib/components/core/link/link.component.d.ts +0 -35
  419. package/lib/components/core/list/list/list.component.d.ts +0 -24
  420. package/lib/components/core/list/list-item/list-item.component.d.ts +0 -41
  421. package/lib/components/core/list/list.module.d.ts +0 -8
  422. package/lib/components/core/modal/modal.component.d.ts +0 -135
  423. package/lib/components/core/notifications/notifications.component.d.ts +0 -45
  424. package/lib/components/core/pagination/pagination.component.d.ts +0 -92
  425. package/lib/components/core/popover/popover.directive.d.ts +0 -99
  426. package/lib/components/core/progress-bar/progress-bar.component.d.ts +0 -31
  427. package/lib/components/core/progress-button/progress-button.component.d.ts +0 -21
  428. package/lib/components/core/spinner/spinner.component.d.ts +0 -24
  429. package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +0 -130
  430. package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +0 -24
  431. package/lib/components/core/steppers/steppers.module.d.ts +0 -8
  432. package/lib/components/core/tab/tab-container/tab-container.component.d.ts +0 -60
  433. package/lib/components/core/tab/tab-item/tab-item.component.d.ts +0 -38
  434. package/lib/components/core/tab/tab.module.d.ts +0 -8
  435. package/lib/components/core/table/sort/sort-header/sort-header.component.d.ts +0 -72
  436. package/lib/components/core/table/sort/sort.directive.d.ts +0 -53
  437. package/lib/components/core/table/table.component.d.ts +0 -60
  438. package/lib/components/core/table/table.module.d.ts +0 -9
  439. package/lib/components/core/timeline/timeline-item/timeline-item.component.d.ts +0 -79
  440. package/lib/components/core/timeline/timeline.component.d.ts +0 -21
  441. package/lib/components/core/timeline/timeline.module.d.ts +0 -8
  442. package/lib/components/core/tooltip/tooltip.directive.d.ts +0 -82
  443. package/lib/components/form/autocomplete/autocomplete.component.d.ts +0 -59
  444. package/lib/components/form/checkbox/checkbox.component.d.ts +0 -41
  445. package/lib/components/form/form.module.d.ts +0 -18
  446. package/lib/components/form/input/input.component.d.ts +0 -95
  447. package/lib/components/form/password-input/password-input.component.d.ts +0 -80
  448. package/lib/components/form/radio-button/radio-button.component.d.ts +0 -38
  449. package/lib/components/form/range/range.component.d.ts +0 -42
  450. package/lib/components/form/rating/rating.component.d.ts +0 -24
  451. package/lib/components/form/select/select.component.d.ts +0 -36
  452. package/lib/components/form/textarea/textarea.component.d.ts +0 -34
  453. package/lib/components/form/transfer/store/transfer.reducers.d.ts +0 -103
  454. package/lib/components/form/transfer/store/transfer.state.d.ts +0 -18
  455. package/lib/components/form/transfer/store/transfer.store.d.ts +0 -23
  456. package/lib/components/form/transfer/transfer-list/transfer-list.component.d.ts +0 -48
  457. package/lib/components/form/transfer/transfer.component.d.ts +0 -75
  458. package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +0 -60
  459. package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +0 -62
  460. package/lib/components/navigation/back-button/back-button.component.d.ts +0 -47
  461. package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +0 -50
  462. package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +0 -28
  463. package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +0 -23
  464. package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts +0 -8
  465. package/lib/components/navigation/header/header.component.d.ts +0 -36
  466. package/lib/components/navigation/megamenu/megamenu.component.d.ts +0 -22
  467. package/lib/components/navigation/navbar/navbar/navbar.component.d.ts +0 -16
  468. package/lib/components/navigation/navbar/navbar-item/navbar-item.component.d.ts +0 -5
  469. package/lib/components/navigation/navbar/navbar.module.d.ts +0 -8
  470. package/lib/components/navigation/navscroll/navscroll-list-item.component.d.ts +0 -16
  471. package/lib/components/navigation/navscroll/navscroll-list-items.component.d.ts +0 -7
  472. package/lib/components/navigation/navscroll/navscroll.component.d.ts +0 -47
  473. package/lib/components/navigation/navscroll/navscroll.store.d.ts +0 -16
  474. package/lib/components/navigation/navscroll/navscroll.utils.d.ts +0 -6
  475. package/lib/components/navigation/sidebar/sidebar.component.d.ts +0 -26
  476. package/lib/components/navigation/skiplink/skiplink/skiplink.component.d.ts +0 -17
  477. package/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.d.ts +0 -24
  478. package/lib/components/navigation/skiplink/skiplink.module.d.ts +0 -8
  479. package/lib/components/utils/error-page/error-page.component.d.ts +0 -44
  480. package/lib/components/utils/icon/icon.component.d.ts +0 -53
  481. package/lib/components/utils/language-switcher/language-switcher.component.d.ts +0 -27
  482. package/lib/design-angular-kit.module.d.ts +0 -53
  483. package/lib/enums/colors.enums.d.ts +0 -10
  484. package/lib/enums/sizes.enum.d.ts +0 -7
  485. package/lib/interfaces/design-angular-kit-config.d.ts +0 -30
  486. package/lib/interfaces/form.d.ts +0 -67
  487. package/lib/interfaces/icon.d.ts +0 -4
  488. package/lib/interfaces/sortable-table.d.ts +0 -33
  489. package/lib/interfaces/utils.d.ts +0 -10
  490. package/lib/pipes/date-ago.pipe.d.ts +0 -17
  491. package/lib/pipes/duration.pipe.d.ts +0 -35
  492. package/lib/pipes/mark-matching-text.pipe.d.ts +0 -18
  493. package/lib/provide-design-angular-kit.d.ts +0 -7
  494. package/lib/services/notification/notification.service.d.ts +0 -63
  495. package/lib/utils/date-utils.d.ts +0 -79
  496. package/lib/utils/file-utils.d.ts +0 -32
  497. package/lib/utils/regex.d.ts +0 -34
  498. package/lib/validators/it-validators.d.ts +0 -69
  499. package/schematics/ng-add/index.d.ts +0 -3
  500. package/schematics/ng-add/index.js +0 -29
  501. package/schematics/ng-add/index.js.map +0 -1
  502. package/schematics/ng-add/index.spec.d.ts +0 -1
  503. package/schematics/ng-add/index.spec.js +0 -43
  504. package/schematics/ng-add/index.spec.js.map +0 -1
  505. package/schematics/ng-add/rules/setup-project/add-animations.d.ts +0 -2
  506. package/schematics/ng-add/rules/setup-project/add-animations.js +0 -11
  507. package/schematics/ng-add/rules/setup-project/add-animations.js.map +0 -1
  508. package/schematics/ng-add/rules/setup-project/add-assets.d.ts +0 -3
  509. package/schematics/ng-add/rules/setup-project/add-assets.js +0 -50
  510. package/schematics/ng-add/rules/setup-project/add-assets.js.map +0 -1
  511. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.d.ts +0 -3
  512. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js +0 -43
  513. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js.map +0 -1
  514. package/schematics/ng-add/rules/setup-project/add-http-client.d.ts +0 -2
  515. package/schematics/ng-add/rules/setup-project/add-http-client.js +0 -11
  516. package/schematics/ng-add/rules/setup-project/add-http-client.js.map +0 -1
  517. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.d.ts +0 -11
  518. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js +0 -112
  519. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js.map +0 -1
  520. package/schematics/ng-add/rules/setup-project/add-localisation.d.ts +0 -3
  521. package/schematics/ng-add/rules/setup-project/add-localisation.js +0 -50
  522. package/schematics/ng-add/rules/setup-project/add-localisation.js.map +0 -1
  523. package/schematics/ng-add/rules/setup-project/angular-json-helper.d.ts +0 -2
  524. package/schematics/ng-add/rules/setup-project/angular-json-helper.js +0 -13
  525. package/schematics/ng-add/rules/setup-project/angular-json-helper.js.map +0 -1
  526. package/schematics/ng-add/rules/setup-project/exceptions.d.ts +0 -7
  527. package/schematics/ng-add/rules/setup-project/exceptions.js +0 -17
  528. package/schematics/ng-add/rules/setup-project/exceptions.js.map +0 -1
  529. package/schematics/ng-add/rules/setup-project/index.js +0 -23
  530. package/schematics/ng-add/rules/setup-project/index.js.map +0 -1
  531. package/schematics/ng-add/schema.js +0 -3
  532. package/schematics/ng-add/schema.js.map +0 -1
  533. package/schematics/ng-add/setup-project.d.ts +0 -3
  534. package/schematics/ng-add/setup-project.js +0 -37
  535. package/schematics/ng-add/setup-project.js.map +0 -1
  536. package/schematics/ng-add/setup-project.spec.d.ts +0 -1
  537. package/schematics/ng-add/setup-project.spec.js +0 -139
  538. package/schematics/ng-add/setup-project.spec.js.map +0 -1
  539. package/schematics/ng-add/utils.d.ts +0 -14
  540. package/schematics/ng-add/utils.js +0 -49
  541. package/schematics/ng-add/utils.js.map +0 -1
  542. package/schematics/ng-add/versions-helper.d.ts +0 -3
  543. package/schematics/ng-add/versions-helper.js +0 -40
  544. package/schematics/ng-add/versions-helper.js.map +0 -1
  545. /package/schematics/ng-add/rules/setup-project/{index.d.ts → index.ts} +0 -0
@@ -0,0 +1,91 @@
1
+ import { ChangeDetectionStrategy } from '@angular/core';
2
+ import { ComponentFixture, fakeAsync, TestBed } from '@angular/core/testing';
3
+ import { By } from '@angular/platform-browser';
4
+ import { ItBackButtonComponent } from './back-button.component';
5
+ import { tb_base } from '../../../../test';
6
+
7
+ describe('ItBackButtonComponent', () => {
8
+ let component: ItBackButtonComponent;
9
+ let fixture: ComponentFixture<ItBackButtonComponent>;
10
+
11
+ beforeEach(fakeAsync(() => {
12
+ TestBed.configureTestingModule(tb_base)
13
+ .overrideComponent(ItBackButtonComponent, {
14
+ set: { changeDetection: ChangeDetectionStrategy.Default },
15
+ })
16
+ .compileComponents();
17
+
18
+ fixture = TestBed.createComponent(ItBackButtonComponent);
19
+ component = fixture.componentInstance;
20
+ fixture.detectChanges();
21
+ }));
22
+
23
+ it('deve crearsi', () => {
24
+ expect(component).toBeTruthy();
25
+ });
26
+
27
+ it('deve essere di default un bottone', () => {
28
+ expect(component.buttonStyle).toBe('button');
29
+ const buttonElement = fixture.debugElement.query(By.css('button'));
30
+ expect(buttonElement).toBeTruthy();
31
+ const aElement = fixture.debugElement.query(By.css('a'));
32
+ expect(aElement).toBeFalsy();
33
+ });
34
+
35
+ it('deve poter essere un link', () => {
36
+ expect(component.buttonStyle).toBe('button');
37
+ component.buttonStyle = 'link';
38
+ fixture.detectChanges();
39
+ expect(component.buttonStyle).toBe('link');
40
+ const aElement = fixture.debugElement.query(By.css('a'));
41
+ expect(aElement).toBeTruthy();
42
+ });
43
+
44
+ it('il testo deve poter essere rimosso', () => {
45
+ expect(component.showText).toBe(true);
46
+ component.showText = false;
47
+ fixture.detectChanges();
48
+ expect(component.showText).toBe(false);
49
+ const visuallyElement = fixture.debugElement.query(By.css('.visually-hidden'));
50
+ expect(visuallyElement).toBeTruthy();
51
+ });
52
+
53
+ it("l'icona deve poter essere rimossa", () => {
54
+ component.showIcon = false;
55
+ fixture.detectChanges();
56
+ expect(component.showIcon).toBe(false);
57
+ const svgElement = fixture.debugElement.query(By.css('svg'));
58
+ expect(svgElement).toBeFalsy();
59
+ });
60
+
61
+ it('il click deve triggerare il location.back() se bottone', () => {
62
+ spyOn(component._location, 'back').and.returnValue();
63
+ fixture.detectChanges();
64
+ const buttonElement = fixture.debugElement.query(By.css('button'));
65
+ buttonElement.nativeElement.click();
66
+ expect(component._location.back).toHaveBeenCalled();
67
+ });
68
+
69
+ it('il click deve triggerare il location.back() se link', () => {
70
+ spyOn(component._location, 'back').and.returnValue();
71
+ component.buttonStyle = 'link';
72
+ fixture.detectChanges();
73
+ const aElement = fixture.debugElement.query(By.css('a'));
74
+ aElement.nativeElement.removeAttribute('href');
75
+ fixture.detectChanges();
76
+ aElement.nativeElement.click();
77
+ expect(component._location.back).toHaveBeenCalled();
78
+ });
79
+
80
+ it('se passo una callback backFn, al click deve essere lanciata lei', () => {
81
+ component.backFn = () => {};
82
+ component.buttonStyle = 'link';
83
+ fixture.detectChanges();
84
+ spyOn(component, 'backFn');
85
+ const aElement = fixture.debugElement.query(By.css('a'));
86
+ aElement.nativeElement.removeAttribute('href');
87
+ fixture.detectChanges();
88
+ aElement.nativeElement.click();
89
+ expect(component.backFn).toHaveBeenCalled();
90
+ });
91
+ });
@@ -0,0 +1,67 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { Location, NgTemplateOutlet } from '@angular/common';
3
+ import { ItButtonDirective } from '../../core/button/button.directive';
4
+ import { ItIconComponent } from '../../utils/icon/icon.component';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { inputToBoolean } from '../../../utils/coercion';
7
+
8
+ @Component({
9
+ standalone: true,
10
+ selector: 'it-back-button',
11
+ templateUrl: './back-button.component.html',
12
+ exportAs: 'itBackButton',
13
+ changeDetection: ChangeDetectionStrategy.OnPush,
14
+ imports: [NgTemplateOutlet, ItButtonDirective, ItIconComponent, TranslateModule],
15
+ })
16
+ export class ItBackButtonComponent {
17
+ /**
18
+ * Back button style
19
+ * - <b>link</b>: use a link with icon and text
20
+ * - <b>button</b>: use a button with icon and text
21
+ * @default button
22
+ */
23
+ @Input() buttonStyle: 'link' | 'button' = 'button';
24
+
25
+ /**
26
+ * Button direction
27
+ * - <b>left</b>: Back direction
28
+ * - <b>up</b>: Upper direction
29
+ * @default left
30
+ */
31
+ @Input() direction: 'left' | 'up' = 'left';
32
+
33
+ /**
34
+ * Show/Hide icon
35
+ * @default true
36
+ */
37
+ @Input({ transform: inputToBoolean }) showIcon: boolean = true;
38
+
39
+ /**
40
+ * Show/Hide text
41
+ * @default true
42
+ */
43
+ @Input({ transform: inputToBoolean }) showText: boolean = true;
44
+
45
+ /**
46
+ * Custom back logic <br/>
47
+ *
48
+ * NOTE: to use 'this' need bind function <br/>
49
+ * @example backCbFn = this.errorCallback.bind(this);
50
+ * (errorCallback is your function, pass backCbFn to the component)
51
+ */
52
+ @Input() backFn?: (location: Location) => void;
53
+
54
+ constructor(public readonly _location: Location) {}
55
+
56
+ /**
57
+ * Go back function
58
+ */
59
+ public goBack(event: Event): void {
60
+ event.preventDefault();
61
+ if (this.backFn) {
62
+ return this.backFn(this._location);
63
+ }
64
+
65
+ this._location.back();
66
+ }
67
+ }
@@ -0,0 +1,11 @@
1
+ <a
2
+ #backToTop
3
+ [id]="id"
4
+ href="#"
5
+ [attr.aria-label]="ariaLabel"
6
+ class="back-to-top"
7
+ [class.back-to-top-small]="small"
8
+ [class.shadow]="shadow"
9
+ [class.dark]="dark">
10
+ <it-icon name="arrow-up" [color]="dark ? 'secondary' : 'light'"></it-icon>
11
+ </a>
@@ -0,0 +1,21 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { ItBackToTopComponent } from './back-to-top.component';
4
+ import { tb_base } from '../../../../test';
5
+
6
+ describe('ItBackToTopComponent', () => {
7
+ let component: ItBackToTopComponent;
8
+ let fixture: ComponentFixture<ItBackToTopComponent>;
9
+
10
+ beforeEach(async () => {
11
+ await TestBed.configureTestingModule(tb_base).compileComponents();
12
+
13
+ fixture = TestBed.createComponent(ItBackToTopComponent);
14
+ component = fixture.componentInstance;
15
+ fixture.detectChanges();
16
+ });
17
+
18
+ it('should create', () => {
19
+ expect(component).toBeTruthy();
20
+ });
21
+ });
@@ -0,0 +1,80 @@
1
+ import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild } from '@angular/core';
2
+ import { ItAbstractComponent } from '../../../abstracts/abstract.component';
3
+ import { BackToTop } from 'bootstrap-italia';
4
+ import { ItIconComponent } from '../../utils/icon/icon.component';
5
+ import { inputToBoolean } from '../../../utils/coercion';
6
+
7
+ @Component({
8
+ standalone: true,
9
+ selector: 'it-back-to-top',
10
+ templateUrl: './back-to-top.component.html',
11
+ exportAs: 'itBackToTop',
12
+ changeDetection: ChangeDetectionStrategy.OnPush,
13
+ imports: [ItIconComponent],
14
+ })
15
+ export class ItBackToTopComponent extends ItAbstractComponent implements AfterViewInit {
16
+ /**
17
+ * Aria label for the component
18
+ * @default 'Torna su'
19
+ */
20
+ @Input() ariaLabel: string = 'Torna su';
21
+
22
+ /**
23
+ * Show small button
24
+ * @default false
25
+ */
26
+ @Input({ transform: inputToBoolean }) small?: boolean;
27
+
28
+ /**
29
+ * Show shadow
30
+ * @default false
31
+ */
32
+ @Input({ transform: inputToBoolean }) shadow?: boolean;
33
+
34
+ /**
35
+ * Button usable button on a dark background
36
+ * @default false
37
+ */
38
+ @Input({ transform: inputToBoolean }) dark?: boolean;
39
+
40
+ private backToTop?: BackToTop;
41
+
42
+ @ViewChild('backToTop') private backToTopElement?: ElementRef<HTMLAnchorElement>;
43
+
44
+ override ngAfterViewInit() {
45
+ super.ngAfterViewInit();
46
+
47
+ if (this.backToTopElement) {
48
+ const element = this.backToTopElement.nativeElement;
49
+ this.backToTop = BackToTop.getOrCreateInstance(element);
50
+ }
51
+ }
52
+
53
+ /**
54
+ * Show button
55
+ */
56
+ public show(): void {
57
+ this.backToTop?.show();
58
+ }
59
+
60
+ /**
61
+ * Hide the button
62
+ */
63
+ public hide(): void {
64
+ this.backToTop?.hide();
65
+ }
66
+
67
+ /**
68
+ * Activates the scroll animation towards the Y coordinate indicated by the positionTop option
69
+ */
70
+ public scrollToTop(): void {
71
+ this.backToTop?.scrollToTop();
72
+ }
73
+
74
+ /**
75
+ * Eliminate component features
76
+ */
77
+ public dispose(): void {
78
+ this.backToTop?.dispose();
79
+ }
80
+ }
@@ -0,0 +1,23 @@
1
+ <nav class="breadcrumb-container" [attr.aria-label]="'it.navigation.navigation-path' | translate">
2
+ @if (items) {
3
+ <ol class="breadcrumb" [class.dark]="dark" [class.px-3]="dark">
4
+ @for (item of items; track item; let isLast = $last) {
5
+ <li class="breadcrumb-item" [class.active]="item.active" [attr.aria-current]="item.active ? 'page' : null">
6
+ @if (item.iconName) {
7
+ <it-icon [name]="item.iconName" [color]="dark ? 'white' : 'secondary'" size="sm" svgClass="align-top me-1"></it-icon>
8
+ }
9
+ @if (!item.active && !isLast) {
10
+ <it-link [href]="item.href" [class]="item.class" [externalLink]="item.externalLink" [disabled]="item.disabled">
11
+ <ng-container *ngTemplateOutlet="item.htmlContent"></ng-container>
12
+ </it-link>
13
+ } @else {
14
+ <ng-container *ngTemplateOutlet="item.htmlContent"></ng-container>
15
+ }
16
+ @if (!isLast) {
17
+ <span class="separator">{{ separator }}</span>
18
+ }
19
+ </li>
20
+ }
21
+ </ol>
22
+ }
23
+ </nav>
@@ -0,0 +1,21 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { ItBreadcrumbComponent } from './breadcrumb.component';
4
+ import { tb_base } from '../../../../../test';
5
+
6
+ describe('ItBreadcrumbComponent', () => {
7
+ let component: ItBreadcrumbComponent;
8
+ let fixture: ComponentFixture<ItBreadcrumbComponent>;
9
+
10
+ beforeEach(async () => {
11
+ await TestBed.configureTestingModule(tb_base).compileComponents();
12
+
13
+ fixture = TestBed.createComponent(ItBreadcrumbComponent);
14
+ component = fixture.componentInstance;
15
+ fixture.detectChanges();
16
+ });
17
+
18
+ it('should create', () => {
19
+ expect(component).toBeTruthy();
20
+ });
21
+ });
@@ -0,0 +1,68 @@
1
+ import {
2
+ AfterViewInit,
3
+ ChangeDetectionStrategy,
4
+ ChangeDetectorRef,
5
+ Component,
6
+ ContentChildren,
7
+ Input,
8
+ OnDestroy,
9
+ QueryList,
10
+ } from '@angular/core';
11
+ import { ItBreadcrumbItemComponent } from '../breadcrumb-item/breadcrumb-item.component';
12
+ import { startWith, Subscription } from 'rxjs';
13
+ import { NgTemplateOutlet } from '@angular/common';
14
+ import { TranslateModule } from '@ngx-translate/core';
15
+ import { ItIconComponent } from '../../../utils/icon/icon.component';
16
+ import { ItLinkComponent } from '../../../core/link/link.component';
17
+ import { inputToBoolean } from '../../../../utils/coercion';
18
+
19
+ @Component({
20
+ standalone: true,
21
+ selector: 'it-breadcrumb',
22
+ templateUrl: './breadcrumb.component.html',
23
+ changeDetection: ChangeDetectionStrategy.OnPush,
24
+ imports: [TranslateModule, ItIconComponent, ItLinkComponent, NgTemplateOutlet],
25
+ })
26
+ export class ItBreadcrumbComponent implements AfterViewInit, OnDestroy {
27
+ /**
28
+ * The character to use as separator
29
+ * @default /
30
+ */
31
+ @Input() separator: string = '/';
32
+
33
+ /**
34
+ * Dark style
35
+ * @default false
36
+ */
37
+ @Input({ transform: inputToBoolean }) dark?: boolean;
38
+
39
+ /**
40
+ * The tab items
41
+ */
42
+ @ContentChildren(ItBreadcrumbItemComponent) items?: QueryList<ItBreadcrumbItemComponent>;
43
+
44
+ private itemSubscriptions?: Array<Subscription>;
45
+
46
+ constructor(private readonly _changeDetectorRef: ChangeDetectorRef) {}
47
+
48
+ ngAfterViewInit(): void {
49
+ this.items?.changes
50
+ .pipe(
51
+ // When breadcrumb items changes (dynamic add/remove)
52
+ startWith(undefined)
53
+ )
54
+ .subscribe(() => {
55
+ this.itemSubscriptions?.forEach(sub => sub.unsubscribe()); // Remove old subscriptions
56
+ this.itemSubscriptions = this.items?.map(item =>
57
+ item.valueChanges.subscribe(() => {
58
+ this._changeDetectorRef.detectChanges(); // DetectChanges when breadcrumb item attributes changes
59
+ })
60
+ );
61
+ this._changeDetectorRef.detectChanges(); // Force update html render
62
+ });
63
+ }
64
+
65
+ ngOnDestroy(): void {
66
+ this.itemSubscriptions?.forEach(item => item.unsubscribe());
67
+ }
68
+ }
@@ -0,0 +1,3 @@
1
+ <ng-template>
2
+ <ng-content></ng-content>
3
+ </ng-template>
@@ -0,0 +1,22 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { ItBreadcrumbItemComponent } from './breadcrumb-item.component';
4
+
5
+ describe('ItBreadcrumbItemComponent', () => {
6
+ let component: ItBreadcrumbItemComponent;
7
+ let fixture: ComponentFixture<ItBreadcrumbItemComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ imports: [ItBreadcrumbItemComponent],
12
+ }).compileComponents();
13
+
14
+ fixture = TestBed.createComponent(ItBreadcrumbItemComponent);
15
+ component = fixture.componentInstance;
16
+ fixture.detectChanges();
17
+ });
18
+
19
+ it('should create', () => {
20
+ expect(component).toBeTruthy();
21
+ });
22
+ });
@@ -0,0 +1,29 @@
1
+ import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewChild } from '@angular/core';
2
+ import { IconName } from '../../../../interfaces/icon';
3
+ import { ItLinkComponent } from '../../../core/link/link.component';
4
+ import { inputToBoolean } from '../../../../utils/coercion';
5
+
6
+ @Component({
7
+ standalone: true,
8
+ selector: 'it-breadcrumb-item',
9
+ templateUrl: './breadcrumb-item.component.html',
10
+ changeDetection: ChangeDetectionStrategy.OnPush,
11
+ imports: [],
12
+ })
13
+ export class ItBreadcrumbItemComponent extends ItLinkComponent {
14
+ /**
15
+ * Is active breadcrumb item
16
+ * @default false
17
+ */
18
+ @Input({ transform: inputToBoolean }) active?: boolean;
19
+
20
+ /**
21
+ * The name of icon to show
22
+ */
23
+ @Input() iconName: IconName | undefined;
24
+
25
+ /**
26
+ * The content of item
27
+ */
28
+ @ViewChild(TemplateRef) public htmlContent!: TemplateRef<any>;
29
+ }
@@ -0,0 +1,11 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { ItBreadcrumbComponent } from './breadcrumb/breadcrumb.component';
3
+ import { ItBreadcrumbItemComponent } from './breadcrumb-item/breadcrumb-item.component';
4
+
5
+ const breadcrumb = [ItBreadcrumbComponent, ItBreadcrumbItemComponent];
6
+
7
+ @NgModule({
8
+ imports: breadcrumb,
9
+ exports: breadcrumb,
10
+ })
11
+ export class ItBreadcrumbsModule {}
@@ -0,0 +1,102 @@
1
+ <header
2
+ #headerWrapper
3
+ class="it-header-wrapper"
4
+ [class.it-header-sticky]="sticky"
5
+ data-bs-position-type="fixed"
6
+ data-bs-sticky-class-name="is-sticky"
7
+ data-bs-target="#header-nav-wrapper">
8
+ @if (showSlim) {
9
+ <div class="it-header-slim-wrapper" [class.theme-light]="light">
10
+ <div class="container-xxl">
11
+ <div class="row">
12
+ <div class="col-12">
13
+ <div class="it-header-slim-wrapper-content">
14
+ <a class="d-none d-lg-block navbar-brand" [href]="slimTitleLink" [target]="slimTitleLink !== '#' ? '_blank' : '_self'">
15
+ {{ slimTitle }}
16
+ </a>
17
+ <div class="nav-mobile">
18
+ <nav [attr.aria-label]="'it.navigation.secondary-navigation' | translate">
19
+ <a
20
+ class="it-opener d-lg-none"
21
+ data-bs-toggle="collapse"
22
+ href="#menuC1"
23
+ role="button"
24
+ aria-expanded="false"
25
+ aria-controls="menuC1">
26
+ <span>{{ slimTitle }}</span>
27
+ <it-icon name="expand"></it-icon>
28
+ </a>
29
+ <div class="link-list-wrapper collapse" id="menuC1">
30
+ <ng-content select="[slimLinkList]"></ng-content>
31
+ </div>
32
+ </nav>
33
+ </div>
34
+ <div class="it-header-slim-right-zone">
35
+ <ng-content select="[slimRightZone]"></ng-content>
36
+ @if (loginStyle === 'default') {
37
+ <div class="it-access-top-wrapper">
38
+ <a class="btn btn-primary btn-sm" (click)="emitLoginClick($event)" href="#">
39
+ {{ 'it.navigation.login' | translate }}
40
+ </a>
41
+ </div>
42
+ }
43
+ @if (loginStyle === 'full') {
44
+ <a itButton="primary" class="btn-full btn-icon" (click)="emitLoginClick($event)" href="#">
45
+ <span class="rounded-icon">
46
+ <it-icon name="user" color="primary"></it-icon>
47
+ </span>
48
+ <span class="d-none d-lg-block">{{ 'it.navigation.full-login' | translate }}</span>
49
+ </a>
50
+ }
51
+ </div>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ }
58
+ <div class="it-nav-wrapper">
59
+ <div class="it-header-center-wrapper" [class.it-small-header]="smallHeader" [class.theme-light]="light">
60
+ <div class="container">
61
+ <div class="row">
62
+ <div class="col-12">
63
+ <div class="it-header-center-content-wrapper">
64
+ <div class="it-brand-wrapper">
65
+ <ng-content select="[brand]"></ng-content>
66
+ </div>
67
+ <div class="it-right-zone">
68
+ <ng-content select="[rightZone]"></ng-content>
69
+
70
+ @if (showSearch) {
71
+ <div class="it-search-wrapper">
72
+ <span class="d-none d-md-block">{{ 'it.navigation.search' | translate }}</span>
73
+ <a
74
+ href="#"
75
+ class="search-link rounded-icon"
76
+ [attr.aria-label]="'it.navigation.website-search' | translate"
77
+ (click)="emitSearchClick($event)">
78
+ <it-icon name="search"></it-icon>
79
+ </a>
80
+ </div>
81
+ }
82
+ </div>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ <div class="it-header-navbar-wrapper" [class.theme-light-desk]="light" id="header-nav-wrapper">
89
+ <div class="container">
90
+ <div class="row">
91
+ <div class="col-12">
92
+ <it-navbar [megamenu]="megamenu" [expand]="expand">
93
+ <ng-container navItems>
94
+ <ng-content select="[navItems]"></ng-content>
95
+ </ng-container>
96
+ </it-navbar>
97
+ </div>
98
+ </div>
99
+ </div>
100
+ </div>
101
+ </div>
102
+ </header>
@@ -0,0 +1,3 @@
1
+ .nav-mobile:has(.link-list-wrapper:empty) {
2
+ display: none;
3
+ }
@@ -0,0 +1,21 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { ItHeaderComponent } from './header.component';
4
+ import { tb_base } from '../../../../test';
5
+
6
+ describe('ItHeaderComponent', () => {
7
+ let component: ItHeaderComponent;
8
+ let fixture: ComponentFixture<ItHeaderComponent>;
9
+
10
+ beforeEach(async () => {
11
+ await TestBed.configureTestingModule(tb_base).compileComponents();
12
+
13
+ fixture = TestBed.createComponent(ItHeaderComponent);
14
+ component = fixture.componentInstance;
15
+ fixture.detectChanges();
16
+ });
17
+
18
+ it('should create', () => {
19
+ expect(component).toBeTruthy();
20
+ });
21
+ });