design-angular-kit 1.1.4 → 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 (546) 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/README.md +0 -461
  279. package/esm2022/design-angular-kit.mjs +0 -5
  280. package/esm2022/lib/abstracts/abstract-form.component.mjs +0 -186
  281. package/esm2022/lib/abstracts/abstract.component.mjs +0 -46
  282. package/esm2022/lib/components/core/accordion/accordion.component.mjs +0 -39
  283. package/esm2022/lib/components/core/alert/alert.component.mjs +0 -71
  284. package/esm2022/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.mjs +0 -43
  285. package/esm2022/lib/components/core/avatar/avatar-group/avatar-group.component.mjs +0 -40
  286. package/esm2022/lib/components/core/avatar/avatar.directive.mjs +0 -78
  287. package/esm2022/lib/components/core/avatar/avatar.module.mjs +0 -33
  288. package/esm2022/lib/components/core/badge/badge.directive.mjs +0 -39
  289. package/esm2022/lib/components/core/button/button.directive.mjs +0 -80
  290. package/esm2022/lib/components/core/callout/callout.component.mjs +0 -64
  291. package/esm2022/lib/components/core/card/card.component.mjs +0 -59
  292. package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +0 -84
  293. package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +0 -19
  294. package/esm2022/lib/components/core/carousel/carousel.module.mjs +0 -18
  295. package/esm2022/lib/components/core/chip/chip.component.mjs +0 -136
  296. package/esm2022/lib/components/core/collapse/collapse.component.mjs +0 -116
  297. package/esm2022/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +0 -27
  298. package/esm2022/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +0 -11
  299. package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +0 -55
  300. package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +0 -19
  301. package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +0 -144
  302. package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +0 -61
  303. package/esm2022/lib/components/core/dropdown/dropdown.module.mjs +0 -18
  304. package/esm2022/lib/components/core/forward/forward.directive.mjs +0 -57
  305. package/esm2022/lib/components/core/link/link.component.mjs +0 -42
  306. package/esm2022/lib/components/core/list/list/list.component.mjs +0 -22
  307. package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +0 -56
  308. package/esm2022/lib/components/core/list/list.module.mjs +0 -18
  309. package/esm2022/lib/components/core/modal/modal.component.mjs +0 -194
  310. package/esm2022/lib/components/core/notifications/notifications.component.mjs +0 -111
  311. package/esm2022/lib/components/core/pagination/pagination.component.mjs +0 -130
  312. package/esm2022/lib/components/core/popover/popover.directive.mjs +0 -176
  313. package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +0 -34
  314. package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +0 -25
  315. package/esm2022/lib/components/core/spinner/spinner.component.mjs +0 -30
  316. package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +0 -116
  317. package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +0 -20
  318. package/esm2022/lib/components/core/steppers/steppers.module.mjs +0 -18
  319. package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +0 -72
  320. package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +0 -39
  321. package/esm2022/lib/components/core/tab/tab.module.mjs +0 -18
  322. package/esm2022/lib/components/core/table/sort/sort-header/sort-header.component.mjs +0 -134
  323. package/esm2022/lib/components/core/table/sort/sort.directive.mjs +0 -123
  324. package/esm2022/lib/components/core/table/table.component.mjs +0 -45
  325. package/esm2022/lib/components/core/table/table.module.mjs +0 -19
  326. package/esm2022/lib/components/core/timeline/timeline-item/timeline-item.component.mjs +0 -90
  327. package/esm2022/lib/components/core/timeline/timeline.component.mjs +0 -36
  328. package/esm2022/lib/components/core/timeline/timeline.module.mjs +0 -18
  329. package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +0 -143
  330. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +0 -112
  331. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +0 -48
  332. package/esm2022/lib/components/form/form.module.mjs +0 -63
  333. package/esm2022/lib/components/form/input/input.component.mjs +0 -190
  334. package/esm2022/lib/components/form/password-input/password-input.component.mjs +0 -149
  335. package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +0 -60
  336. package/esm2022/lib/components/form/range/range.component.mjs +0 -64
  337. package/esm2022/lib/components/form/rating/rating.component.mjs +0 -50
  338. package/esm2022/lib/components/form/select/select.component.mjs +0 -70
  339. package/esm2022/lib/components/form/textarea/textarea.component.mjs +0 -55
  340. package/esm2022/lib/components/form/transfer/store/transfer.reducers.mjs +0 -191
  341. package/esm2022/lib/components/form/transfer/store/transfer.state.mjs +0 -2
  342. package/esm2022/lib/components/form/transfer/store/transfer.store.mjs +0 -70
  343. package/esm2022/lib/components/form/transfer/transfer-list/transfer-list.component.mjs +0 -72
  344. package/esm2022/lib/components/form/transfer/transfer.component.mjs +0 -149
  345. package/esm2022/lib/components/form/transfer/transfer.model.mjs +0 -6
  346. package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +0 -142
  347. package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +0 -107
  348. package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +0 -67
  349. package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +0 -68
  350. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -51
  351. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +0 -21
  352. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +0 -18
  353. package/esm2022/lib/components/navigation/header/header.component.mjs +0 -97
  354. package/esm2022/lib/components/navigation/megamenu/megamenu.component.mjs +0 -27
  355. package/esm2022/lib/components/navigation/navbar/navbar/navbar.component.mjs +0 -40
  356. package/esm2022/lib/components/navigation/navbar/navbar-item/navbar-item.component.mjs +0 -11
  357. package/esm2022/lib/components/navigation/navbar/navbar.module.mjs +0 -18
  358. package/esm2022/lib/components/navigation/navscroll/navscroll-list-item.component.mjs +0 -98
  359. package/esm2022/lib/components/navigation/navscroll/navscroll-list-items.component.mjs +0 -44
  360. package/esm2022/lib/components/navigation/navscroll/navscroll.component.mjs +0 -116
  361. package/esm2022/lib/components/navigation/navscroll/navscroll.model.mjs +0 -2
  362. package/esm2022/lib/components/navigation/navscroll/navscroll.store.mjs +0 -65
  363. package/esm2022/lib/components/navigation/navscroll/navscroll.utils.mjs +0 -23
  364. package/esm2022/lib/components/navigation/sidebar/sidebar.component.mjs +0 -50
  365. package/esm2022/lib/components/navigation/skiplink/skiplink/skiplink.component.mjs +0 -27
  366. package/esm2022/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.mjs +0 -26
  367. package/esm2022/lib/components/navigation/skiplink/skiplink.module.mjs +0 -18
  368. package/esm2022/lib/components/utils/error-page/error-page.component.mjs +0 -74
  369. package/esm2022/lib/components/utils/icon/icon.component.mjs +0 -58
  370. package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +0 -50
  371. package/esm2022/lib/design-angular-kit.module.mjs +0 -233
  372. package/esm2022/lib/enums/colors.enums.mjs +0 -12
  373. package/esm2022/lib/enums/sizes.enum.mjs +0 -9
  374. package/esm2022/lib/interfaces/core.mjs +0 -16
  375. package/esm2022/lib/interfaces/design-angular-kit-config.mjs +0 -7
  376. package/esm2022/lib/interfaces/form.mjs +0 -2
  377. package/esm2022/lib/interfaces/icon.mjs +0 -168
  378. package/esm2022/lib/interfaces/sortable-table.mjs +0 -6
  379. package/esm2022/lib/interfaces/utils.mjs +0 -2
  380. package/esm2022/lib/pipes/date-ago.pipe.mjs +0 -56
  381. package/esm2022/lib/pipes/duration.pipe.mjs +0 -115
  382. package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +0 -48
  383. package/esm2022/lib/provide-design-angular-kit.mjs +0 -64
  384. package/esm2022/lib/services/notification/notification.service.mjs +0 -120
  385. package/esm2022/lib/utils/coercion.mjs +0 -18
  386. package/esm2022/lib/utils/date-utils.mjs +0 -162
  387. package/esm2022/lib/utils/file-utils.mjs +0 -73
  388. package/esm2022/lib/utils/regex.mjs +0 -35
  389. package/esm2022/lib/validators/it-validators.mjs +0 -156
  390. package/esm2022/public_api.mjs +0 -110
  391. package/fesm2022/design-angular-kit.mjs +0 -6669
  392. package/fesm2022/design-angular-kit.mjs.map +0 -1
  393. package/index.d.ts +0 -5
  394. package/lib/abstracts/abstract-form.component.d.ts +0 -87
  395. package/lib/abstracts/abstract.component.d.ts +0 -30
  396. package/lib/components/core/accordion/accordion.component.d.ts +0 -18
  397. package/lib/components/core/alert/alert.component.d.ts +0 -44
  398. package/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.d.ts +0 -29
  399. package/lib/components/core/avatar/avatar-group/avatar-group.component.d.ts +0 -15
  400. package/lib/components/core/avatar/avatar.directive.d.ts +0 -33
  401. package/lib/components/core/avatar/avatar.module.d.ts +0 -9
  402. package/lib/components/core/badge/badge.directive.d.ts +0 -23
  403. package/lib/components/core/button/button.directive.d.ts +0 -48
  404. package/lib/components/core/callout/callout.component.d.ts +0 -50
  405. package/lib/components/core/card/card.component.d.ts +0 -69
  406. package/lib/components/core/carousel/carousel/carousel.component.d.ts +0 -65
  407. package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +0 -15
  408. package/lib/components/core/carousel/carousel.module.d.ts +0 -8
  409. package/lib/components/core/chip/chip.component.d.ts +0 -76
  410. package/lib/components/core/collapse/collapse.component.d.ts +0 -67
  411. package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +0 -12
  412. package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +0 -5
  413. package/lib/components/core/dimmer/dimmer.component.d.ts +0 -24
  414. package/lib/components/core/dimmer/dimmer.module.d.ts +0 -9
  415. package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +0 -94
  416. package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +0 -42
  417. package/lib/components/core/dropdown/dropdown.module.d.ts +0 -8
  418. package/lib/components/core/forward/forward.directive.d.ts +0 -14
  419. package/lib/components/core/link/link.component.d.ts +0 -35
  420. package/lib/components/core/list/list/list.component.d.ts +0 -24
  421. package/lib/components/core/list/list-item/list-item.component.d.ts +0 -41
  422. package/lib/components/core/list/list.module.d.ts +0 -8
  423. package/lib/components/core/modal/modal.component.d.ts +0 -135
  424. package/lib/components/core/notifications/notifications.component.d.ts +0 -45
  425. package/lib/components/core/pagination/pagination.component.d.ts +0 -92
  426. package/lib/components/core/popover/popover.directive.d.ts +0 -99
  427. package/lib/components/core/progress-bar/progress-bar.component.d.ts +0 -31
  428. package/lib/components/core/progress-button/progress-button.component.d.ts +0 -21
  429. package/lib/components/core/spinner/spinner.component.d.ts +0 -24
  430. package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +0 -130
  431. package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +0 -20
  432. package/lib/components/core/steppers/steppers.module.d.ts +0 -8
  433. package/lib/components/core/tab/tab-container/tab-container.component.d.ts +0 -36
  434. package/lib/components/core/tab/tab-item/tab-item.component.d.ts +0 -38
  435. package/lib/components/core/tab/tab.module.d.ts +0 -8
  436. package/lib/components/core/table/sort/sort-header/sort-header.component.d.ts +0 -72
  437. package/lib/components/core/table/sort/sort.directive.d.ts +0 -53
  438. package/lib/components/core/table/table.component.d.ts +0 -60
  439. package/lib/components/core/table/table.module.d.ts +0 -9
  440. package/lib/components/core/timeline/timeline-item/timeline-item.component.d.ts +0 -79
  441. package/lib/components/core/timeline/timeline.component.d.ts +0 -21
  442. package/lib/components/core/timeline/timeline.module.d.ts +0 -8
  443. package/lib/components/core/tooltip/tooltip.directive.d.ts +0 -82
  444. package/lib/components/form/autocomplete/autocomplete.component.d.ts +0 -59
  445. package/lib/components/form/checkbox/checkbox.component.d.ts +0 -41
  446. package/lib/components/form/form.module.d.ts +0 -18
  447. package/lib/components/form/input/input.component.d.ts +0 -95
  448. package/lib/components/form/password-input/password-input.component.d.ts +0 -80
  449. package/lib/components/form/radio-button/radio-button.component.d.ts +0 -38
  450. package/lib/components/form/range/range.component.d.ts +0 -42
  451. package/lib/components/form/rating/rating.component.d.ts +0 -24
  452. package/lib/components/form/select/select.component.d.ts +0 -36
  453. package/lib/components/form/textarea/textarea.component.d.ts +0 -34
  454. package/lib/components/form/transfer/store/transfer.reducers.d.ts +0 -103
  455. package/lib/components/form/transfer/store/transfer.state.d.ts +0 -18
  456. package/lib/components/form/transfer/store/transfer.store.d.ts +0 -23
  457. package/lib/components/form/transfer/transfer-list/transfer-list.component.d.ts +0 -48
  458. package/lib/components/form/transfer/transfer.component.d.ts +0 -75
  459. package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +0 -60
  460. package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +0 -62
  461. package/lib/components/navigation/back-button/back-button.component.d.ts +0 -47
  462. package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +0 -50
  463. package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +0 -28
  464. package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +0 -23
  465. package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts +0 -8
  466. package/lib/components/navigation/header/header.component.d.ts +0 -36
  467. package/lib/components/navigation/megamenu/megamenu.component.d.ts +0 -22
  468. package/lib/components/navigation/navbar/navbar/navbar.component.d.ts +0 -16
  469. package/lib/components/navigation/navbar/navbar-item/navbar-item.component.d.ts +0 -5
  470. package/lib/components/navigation/navbar/navbar.module.d.ts +0 -8
  471. package/lib/components/navigation/navscroll/navscroll-list-item.component.d.ts +0 -16
  472. package/lib/components/navigation/navscroll/navscroll-list-items.component.d.ts +0 -7
  473. package/lib/components/navigation/navscroll/navscroll.component.d.ts +0 -47
  474. package/lib/components/navigation/navscroll/navscroll.store.d.ts +0 -16
  475. package/lib/components/navigation/navscroll/navscroll.utils.d.ts +0 -6
  476. package/lib/components/navigation/sidebar/sidebar.component.d.ts +0 -26
  477. package/lib/components/navigation/skiplink/skiplink/skiplink.component.d.ts +0 -17
  478. package/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.d.ts +0 -24
  479. package/lib/components/navigation/skiplink/skiplink.module.d.ts +0 -8
  480. package/lib/components/utils/error-page/error-page.component.d.ts +0 -44
  481. package/lib/components/utils/icon/icon.component.d.ts +0 -48
  482. package/lib/components/utils/language-switcher/language-switcher.component.d.ts +0 -27
  483. package/lib/design-angular-kit.module.d.ts +0 -53
  484. package/lib/enums/colors.enums.d.ts +0 -10
  485. package/lib/enums/sizes.enum.d.ts +0 -7
  486. package/lib/interfaces/design-angular-kit-config.d.ts +0 -30
  487. package/lib/interfaces/form.d.ts +0 -67
  488. package/lib/interfaces/icon.d.ts +0 -4
  489. package/lib/interfaces/sortable-table.d.ts +0 -33
  490. package/lib/interfaces/utils.d.ts +0 -10
  491. package/lib/pipes/date-ago.pipe.d.ts +0 -17
  492. package/lib/pipes/duration.pipe.d.ts +0 -35
  493. package/lib/pipes/mark-matching-text.pipe.d.ts +0 -18
  494. package/lib/provide-design-angular-kit.d.ts +0 -7
  495. package/lib/services/notification/notification.service.d.ts +0 -63
  496. package/lib/utils/date-utils.d.ts +0 -79
  497. package/lib/utils/file-utils.d.ts +0 -32
  498. package/lib/utils/regex.d.ts +0 -34
  499. package/lib/validators/it-validators.d.ts +0 -69
  500. package/schematics/ng-add/index.d.ts +0 -3
  501. package/schematics/ng-add/index.js +0 -29
  502. package/schematics/ng-add/index.js.map +0 -1
  503. package/schematics/ng-add/index.spec.d.ts +0 -1
  504. package/schematics/ng-add/index.spec.js +0 -43
  505. package/schematics/ng-add/index.spec.js.map +0 -1
  506. package/schematics/ng-add/rules/setup-project/add-animations.d.ts +0 -2
  507. package/schematics/ng-add/rules/setup-project/add-animations.js +0 -11
  508. package/schematics/ng-add/rules/setup-project/add-animations.js.map +0 -1
  509. package/schematics/ng-add/rules/setup-project/add-assets.d.ts +0 -3
  510. package/schematics/ng-add/rules/setup-project/add-assets.js +0 -50
  511. package/schematics/ng-add/rules/setup-project/add-assets.js.map +0 -1
  512. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.d.ts +0 -3
  513. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js +0 -43
  514. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js.map +0 -1
  515. package/schematics/ng-add/rules/setup-project/add-http-client.d.ts +0 -2
  516. package/schematics/ng-add/rules/setup-project/add-http-client.js +0 -11
  517. package/schematics/ng-add/rules/setup-project/add-http-client.js.map +0 -1
  518. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.d.ts +0 -11
  519. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js +0 -112
  520. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js.map +0 -1
  521. package/schematics/ng-add/rules/setup-project/add-localisation.d.ts +0 -3
  522. package/schematics/ng-add/rules/setup-project/add-localisation.js +0 -50
  523. package/schematics/ng-add/rules/setup-project/add-localisation.js.map +0 -1
  524. package/schematics/ng-add/rules/setup-project/angular-json-helper.d.ts +0 -2
  525. package/schematics/ng-add/rules/setup-project/angular-json-helper.js +0 -13
  526. package/schematics/ng-add/rules/setup-project/angular-json-helper.js.map +0 -1
  527. package/schematics/ng-add/rules/setup-project/exceptions.d.ts +0 -7
  528. package/schematics/ng-add/rules/setup-project/exceptions.js +0 -17
  529. package/schematics/ng-add/rules/setup-project/exceptions.js.map +0 -1
  530. package/schematics/ng-add/rules/setup-project/index.js +0 -23
  531. package/schematics/ng-add/rules/setup-project/index.js.map +0 -1
  532. package/schematics/ng-add/schema.js +0 -3
  533. package/schematics/ng-add/schema.js.map +0 -1
  534. package/schematics/ng-add/setup-project.d.ts +0 -3
  535. package/schematics/ng-add/setup-project.js +0 -37
  536. package/schematics/ng-add/setup-project.js.map +0 -1
  537. package/schematics/ng-add/setup-project.spec.d.ts +0 -1
  538. package/schematics/ng-add/setup-project.spec.js +0 -139
  539. package/schematics/ng-add/setup-project.spec.js.map +0 -1
  540. package/schematics/ng-add/utils.d.ts +0 -14
  541. package/schematics/ng-add/utils.js +0 -49
  542. package/schematics/ng-add/utils.js.map +0 -1
  543. package/schematics/ng-add/versions-helper.d.ts +0 -3
  544. package/schematics/ng-add/versions-helper.js +0 -40
  545. package/schematics/ng-add/versions-helper.js.map +0 -1
  546. /package/schematics/ng-add/rules/setup-project/{index.d.ts → index.ts} +0 -0
@@ -1,149 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
2
- import { ItAbstractFormComponent } from '../../../abstracts/abstract-form.component';
3
- import { ItValidators } from '../../../validators/it-validators';
4
- import { map } from 'rxjs';
5
- import { InputPassword } from 'bootstrap-italia';
6
- import { ReactiveFormsModule, Validators } from '@angular/forms';
7
- import { AsyncPipe } from '@angular/common';
8
- import { ItIconComponent } from '../../utils/icon/icon.component';
9
- import { TranslateModule } from '@ngx-translate/core';
10
- import { inputToBoolean } from '../../../utils/coercion';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/forms";
13
- import * as i2 from "@ngx-translate/core";
14
- export class ItPasswordInputComponent extends ItAbstractFormComponent {
15
- constructor() {
16
- super(...arguments);
17
- /**
18
- * The field is required
19
- * @default true
20
- */
21
- this.required = true;
22
- /**
23
- * The password minimum length
24
- * @default 10
25
- */
26
- this.minLength = 10;
27
- /**
28
- * The password must contain at least one number
29
- * @default true
30
- */
31
- this.useNumber = true;
32
- /**
33
- * The password must contain at least one uppercase character
34
- * @default true
35
- */
36
- this.useCapitalCase = true;
37
- /**
38
- * The password must contain at least one lowercase character
39
- * @default true
40
- */
41
- this.useSmallCase = true;
42
- /**
43
- * The password must contain at least one special character
44
- * @default true
45
- */
46
- this.useSpecialCharacters = true;
47
- /**
48
- * The input placeholder
49
- */
50
- this.placeholder = '';
51
- }
52
- ngOnInit() {
53
- super.ngOnInit();
54
- if (!this.confirmPasswordField) {
55
- this.addValidators(ItValidators.password(this.minLength, this.useNumber, this.useCapitalCase, this.useSmallCase, this.useSpecialCharacters, this.required));
56
- }
57
- else if (this.required) {
58
- this.addValidators(Validators.required);
59
- }
60
- }
61
- ngAfterViewInit() {
62
- super.ngAfterViewInit();
63
- if (this.inputElement) {
64
- this.inputPasswordBs = InputPassword.getOrCreateInstance(this.inputElement.nativeElement, {
65
- showText: this.isStrengthMeter,
66
- minimumLength: this.minLength,
67
- });
68
- }
69
- }
70
- get isStrengthMeter() {
71
- return !this.confirmPasswordField && !!this.showStrengthMeter;
72
- }
73
- /**
74
- * Return the invalid message string from TranslateService
75
- */
76
- get invalidMessage() {
77
- if (this.hasError('noPasswordMatch')) {
78
- return this._translateService.get('it.errors.password-no-match');
79
- }
80
- if (this.hasError('minlength')) {
81
- return this._translateService.get('it.errors.password-min-length', {
82
- minLength: this.minLength,
83
- });
84
- }
85
- if (this.hasError('hasNumber')) {
86
- return this._translateService.get('it.errors.password-number');
87
- }
88
- if (this.hasError('hasCapitalCase')) {
89
- return this._translateService.get('it.errors.password-capital-case');
90
- }
91
- if (this.hasError('hasSmallCase')) {
92
- return this._translateService.get('it.errors.password-capital-case');
93
- }
94
- if (this.hasError('hasSpecialCharacters')) {
95
- return this._translateService.get('it.errors.password-special-character');
96
- }
97
- return super.invalidMessage;
98
- }
99
- /**
100
- * Retrieve the default StrengthMeter description message from TranslateService
101
- */
102
- get strengthMeterDescription() {
103
- const keys = ['it.form.password-strength-meter.description.default'];
104
- if (this.useNumber) {
105
- keys.push('it.form.password-strength-meter.description.number');
106
- }
107
- if (this.useCapitalCase) {
108
- keys.push('it.form.password-strength-meter.description.capital-case');
109
- }
110
- if (this.useSpecialCharacters) {
111
- keys.push('it.form.password-strength-meter.description.special-character');
112
- }
113
- return this._translateService.get(keys, { minLength: this.minLength }).pipe(map(labels => Object.values(labels).join(', ')));
114
- }
115
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItPasswordInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
116
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItPasswordInputComponent, isStandalone: true, selector: "it-password-input", inputs: { required: "required", minLength: "minLength", useNumber: "useNumber", useCapitalCase: "useCapitalCase", useSmallCase: "useSmallCase", useSpecialCharacters: "useSpecialCharacters", placeholder: "placeholder", description: "description", showStrengthMeter: ["showStrengthMeter", "showStrengthMeter", inputToBoolean], confirmPasswordField: ["confirmPasswordField", "confirmPasswordField", inputToBoolean], autocomplete: "autocomplete" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\">\n @if (label) {\n <label [for]=\"id\" [class.active]=\"!!control.value || !!placeholder\">{{ label }}</label>\n }\n <input\n #input\n [id]=\"id\"\n type=\"password\"\n class=\"form-control input-password\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [attr.aria-describedby]=\"id + '-description'\"\n [autocomplete]=\"confirmPasswordField ? 'off' : autocomplete\" />\n\n <span class=\"password-icon\" aria-hidden=\"true\">\n <it-icon name=\"password-visible\" size=\"sm\" class=\"password-icon-visible\"></it-icon>\n <it-icon name=\"password-invisible\" size=\"sm\" class=\"password-icon-invisible d-none\"></it-icon>\n </span>\n\n @if (isInvalid) {\n <div [id]=\"id + '-error'\" class=\"form-feedback just-validate-error-label\">\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n\n @if (description !== undefined && !isStrengthMeter) {\n <small [id]=\"id + '-description'\" class=\"form-text\">\n {{ description !== true ? description : (strengthMeterDescription | async) }}\n </small>\n }\n\n <small class=\"password-caps form-text text-warning position-absolute bg-white w-100\">\n {{ 'it.form.caps-inserted' | translate }}\n </small>\n\n @if (isStrengthMeter) {\n <div class=\"password-strength-meter\">\n <small\n [id]=\"id + '-description'\"\n class=\"form-text text-muted\"\n [attr.data-bs-short-pass]=\"'it.form.password-strength-meter.password-short' | translate\"\n [attr.data-bs-bad-pas]=\"'it.form.password-strength-meter.password-bad' | translate\"\n [attr.data-bs-good-pass]=\"'it.form.password-strength-meter.password-good' | translate\"\n [attr.data-bs-strong-pass]=\"'it.form.password-strength-meter.password-strong' | translate\">\n {{ description !== undefined && description !== true ? description : (strengthMeterDescription | async) }}\n </small>\n <div class=\"password-meter progress rounded-0 position-absolute\">\n <div class=\"row position-absolute w-100 m-0\">\n <div class=\"col-3 border-start border-end border-white\"></div>\n <div class=\"col-3 border-start border-end border-white\"></div>\n <div class=\"col-3 border-start border-end border-white\"></div>\n <div class=\"col-3 border-start border-end border-white\"></div>\n </div>\n <div class=\"progress-bar bg-muted\" role=\"progressbar\" aria-valuenow=\"0\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n </div>\n </div>\n }\n</div>\n", styles: [".form-group input:focus:not(.focus--mouse){box-shadow:inherit!important;border-color:inherit!important}.form-group label:not(.active):has(+input:-webkit-autofill){transform:translateY(-75%)}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
117
- }
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItPasswordInputComponent, decorators: [{
119
- type: Component,
120
- args: [{ standalone: true, selector: 'it-password-input', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ReactiveFormsModule, ItIconComponent, AsyncPipe, TranslateModule], template: "<div class=\"form-group\">\n @if (label) {\n <label [for]=\"id\" [class.active]=\"!!control.value || !!placeholder\">{{ label }}</label>\n }\n <input\n #input\n [id]=\"id\"\n type=\"password\"\n class=\"form-control input-password\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [attr.aria-describedby]=\"id + '-description'\"\n [autocomplete]=\"confirmPasswordField ? 'off' : autocomplete\" />\n\n <span class=\"password-icon\" aria-hidden=\"true\">\n <it-icon name=\"password-visible\" size=\"sm\" class=\"password-icon-visible\"></it-icon>\n <it-icon name=\"password-invisible\" size=\"sm\" class=\"password-icon-invisible d-none\"></it-icon>\n </span>\n\n @if (isInvalid) {\n <div [id]=\"id + '-error'\" class=\"form-feedback just-validate-error-label\">\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n\n @if (description !== undefined && !isStrengthMeter) {\n <small [id]=\"id + '-description'\" class=\"form-text\">\n {{ description !== true ? description : (strengthMeterDescription | async) }}\n </small>\n }\n\n <small class=\"password-caps form-text text-warning position-absolute bg-white w-100\">\n {{ 'it.form.caps-inserted' | translate }}\n </small>\n\n @if (isStrengthMeter) {\n <div class=\"password-strength-meter\">\n <small\n [id]=\"id + '-description'\"\n class=\"form-text text-muted\"\n [attr.data-bs-short-pass]=\"'it.form.password-strength-meter.password-short' | translate\"\n [attr.data-bs-bad-pas]=\"'it.form.password-strength-meter.password-bad' | translate\"\n [attr.data-bs-good-pass]=\"'it.form.password-strength-meter.password-good' | translate\"\n [attr.data-bs-strong-pass]=\"'it.form.password-strength-meter.password-strong' | translate\">\n {{ description !== undefined && description !== true ? description : (strengthMeterDescription | async) }}\n </small>\n <div class=\"password-meter progress rounded-0 position-absolute\">\n <div class=\"row position-absolute w-100 m-0\">\n <div class=\"col-3 border-start border-end border-white\"></div>\n <div class=\"col-3 border-start border-end border-white\"></div>\n <div class=\"col-3 border-start border-end border-white\"></div>\n <div class=\"col-3 border-start border-end border-white\"></div>\n </div>\n <div class=\"progress-bar bg-muted\" role=\"progressbar\" aria-valuenow=\"0\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n </div>\n </div>\n }\n</div>\n", styles: [".form-group input:focus:not(.focus--mouse){box-shadow:inherit!important;border-color:inherit!important}.form-group label:not(.active):has(+input:-webkit-autofill){transform:translateY(-75%)}\n"] }]
121
- }], propDecorators: { required: [{
122
- type: Input
123
- }], minLength: [{
124
- type: Input
125
- }], useNumber: [{
126
- type: Input
127
- }], useCapitalCase: [{
128
- type: Input
129
- }], useSmallCase: [{
130
- type: Input
131
- }], useSpecialCharacters: [{
132
- type: Input
133
- }], placeholder: [{
134
- type: Input
135
- }], description: [{
136
- type: Input
137
- }], showStrengthMeter: [{
138
- type: Input,
139
- args: [{ transform: inputToBoolean }]
140
- }], confirmPasswordField: [{
141
- type: Input,
142
- args: [{ transform: inputToBoolean }]
143
- }], autocomplete: [{
144
- type: Input
145
- }], inputElement: [{
146
- type: ViewChild,
147
- args: ['input']
148
- }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3Bhc3N3b3JkLWlucHV0L3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBVXpELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBa0Q7SUFSaEc7O1FBU0U7OztXQUdHO1FBQ00sYUFBUSxHQUFZLElBQUksQ0FBQztRQUVsQzs7O1dBR0c7UUFDTSxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBRWhDOzs7V0FHRztRQUNNLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFbkM7OztXQUdHO1FBQ00sbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFFeEM7OztXQUdHO1FBQ00saUJBQVksR0FBWSxJQUFJLENBQUM7UUFFdEM7OztXQUdHO1FBQ00seUJBQW9CLEdBQVksSUFBSSxDQUFDO1FBRTlDOztXQUVHO1FBQ00sZ0JBQVcsR0FBVyxFQUFFLENBQUM7S0ErR25DO0lBL0VVLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQ2hCLFlBQVksQ0FBQyxRQUFRLENBQ25CLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsb0JBQW9CLEVBQ3pCLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FDRixDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRVEsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3hGLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZTtnQkFDOUIsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTO2FBQzlCLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFhLGNBQWM7UUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDL0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLCtCQUErQixFQUFFO2dCQUNqRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7YUFDMUIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQy9CLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztZQUMxQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQWMsd0JBQXdCO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLENBQUMscURBQXFELENBQUMsQ0FBQztRQUNyRSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLCtEQUErRCxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvSCxDQUFDOzhHQXRKVSx3QkFBd0I7a0dBQXhCLHdCQUF3Qix5V0FzRGYsY0FBYywwRUFNZCxjQUFjLHlMQy9FcEMsd3VGQWlFQSx5UERoRFksbUJBQW1CLDBrQkFBRSxlQUFlLHNIQUFFLFNBQVMsNkNBQUUsZUFBZTs7MkZBRS9ELHdCQUF3QjtrQkFScEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQzs4QkFPbEUsUUFBUTtzQkFBaEIsS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTUcsY0FBYztzQkFBdEIsS0FBSztnQkFNRyxZQUFZO3NCQUFwQixLQUFLO2dCQU1HLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQVFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTWdDLGlCQUFpQjtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsb0JBQW9CO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNM0IsWUFBWTtzQkFBcEIsS0FBSztnQkFJc0IsWUFBWTtzQkFBdkMsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdEFic3RyYWN0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Fic3RyYWN0cy9hYnN0cmFjdC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi8uLi92YWxpZGF0b3JzL2l0LXZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnB1dFBhc3N3b3JkIH0gZnJvbSAnYm9vdHN0cmFwLWl0YWxpYSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEl0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBpbnB1dFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtcGFzc3dvcmQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIEl0SWNvbkNvbXBvbmVudCwgQXN5bmNQaXBlLCBUcmFuc2xhdGVNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBJdFBhc3N3b3JkSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBJdEFic3RyYWN0Rm9ybUNvbXBvbmVudDxzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKlxuICAgKiBUaGUgZmllbGQgaXMgcmVxdWlyZWRcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFzc3dvcmQgbWluaW11bSBsZW5ndGhcbiAgICogQGRlZmF1bHQgMTBcbiAgICovXG4gIEBJbnB1dCgpIG1pbkxlbmd0aDogbnVtYmVyID0gMTA7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXNzd29yZCBtdXN0IGNvbnRhaW4gYXQgbGVhc3Qgb25lIG51bWJlclxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKSB1c2VOdW1iZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFzc3dvcmQgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSB1cHBlcmNhc2UgY2hhcmFjdGVyXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpIHVzZUNhcGl0YWxDYXNlOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogVGhlIHBhc3N3b3JkIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgbG93ZXJjYXNlIGNoYXJhY3RlclxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKSB1c2VTbWFsbENhc2U6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFzc3dvcmQgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBzcGVjaWFsIGNoYXJhY3RlclxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKSB1c2VTcGVjaWFsQ2hhcmFjdGVyczogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnB1dCBwbGFjZWhvbGRlclxuICAgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgZGVzY3JpcHRpb25cbiAgICogLSA8Yj50cnVlPC9iPjogc2hvdyB0aGUgU3RyZW5ndGhNZXRlciBkZXNjcmlwdGlvbiBtZXNzYWdlXG4gICAqIC0gPGI+c3RyaW5nPC9iPjogc2hvdyBjdXN0b20gZGVzY3JpcHRpb25cbiAgICogQGRlZmF1bHQgdHJ1ZSBmb3IgU3RyZW5ndGhNZXRlciBtb2RlIGVsc2UgaXMgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbjogc3RyaW5nIHwgdHJ1ZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRW5hYmxlIHRvIHNob3cgdGhlIHN0cmVuZ3RoIG1ldGVyXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dTdHJlbmd0aE1ldGVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSXMgdGhlIGNvbmZpcm1hdGlvbiBwYXNzd29yZCBmaWVsZFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBjb25maXJtUGFzc3dvcmRGaWVsZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElucHV0IGF1dG9jb21wbGV0ZSBhdHRyaWJ1dGUgKEJyb3dzZXIgYXV0b2NvbXBsZXRlKVxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgaW5wdXRQYXNzd29yZEJzPzogSW5wdXRQYXNzd29yZDtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpIHByaXZhdGUgaW5wdXRFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgaWYgKCF0aGlzLmNvbmZpcm1QYXNzd29yZEZpZWxkKSB7XG4gICAgICB0aGlzLmFkZFZhbGlkYXRvcnMoXG4gICAgICAgIEl0VmFsaWRhdG9ycy5wYXNzd29yZChcbiAgICAgICAgICB0aGlzLm1pbkxlbmd0aCxcbiAgICAgICAgICB0aGlzLnVzZU51bWJlcixcbiAgICAgICAgICB0aGlzLnVzZUNhcGl0YWxDYXNlLFxuICAgICAgICAgIHRoaXMudXNlU21hbGxDYXNlLFxuICAgICAgICAgIHRoaXMudXNlU3BlY2lhbENoYXJhY3RlcnMsXG4gICAgICAgICAgdGhpcy5yZXF1aXJlZFxuICAgICAgICApXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZXF1aXJlZCkge1xuICAgICAgdGhpcy5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgIGlmICh0aGlzLmlucHV0RWxlbWVudCkge1xuICAgICAgdGhpcy5pbnB1dFBhc3N3b3JkQnMgPSBJbnB1dFBhc3N3b3JkLmdldE9yQ3JlYXRlSW5zdGFuY2UodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwge1xuICAgICAgICBzaG93VGV4dDogdGhpcy5pc1N0cmVuZ3RoTWV0ZXIsXG4gICAgICAgIG1pbmltdW1MZW5ndGg6IHRoaXMubWluTGVuZ3RoLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc1N0cmVuZ3RoTWV0ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmNvbmZpcm1QYXNzd29yZEZpZWxkICYmICEhdGhpcy5zaG93U3RyZW5ndGhNZXRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGludmFsaWQgbWVzc2FnZSBzdHJpbmcgZnJvbSBUcmFuc2xhdGVTZXJ2aWNlXG4gICAqL1xuICBvdmVycmlkZSBnZXQgaW52YWxpZE1lc3NhZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBpZiAodGhpcy5oYXNFcnJvcignbm9QYXNzd29yZE1hdGNoJykpIHtcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmdldCgnaXQuZXJyb3JzLnBhc3N3b3JkLW5vLW1hdGNoJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuZ2V0KCdpdC5lcnJvcnMucGFzc3dvcmQtbWluLWxlbmd0aCcsIHtcbiAgICAgICAgbWluTGVuZ3RoOiB0aGlzLm1pbkxlbmd0aCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5oYXNFcnJvcignaGFzTnVtYmVyJykpIHtcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmdldCgnaXQuZXJyb3JzLnBhc3N3b3JkLW51bWJlcicpO1xuICAgIH1cbiAgICBpZiAodGhpcy5oYXNFcnJvcignaGFzQ2FwaXRhbENhc2UnKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuZ2V0KCdpdC5lcnJvcnMucGFzc3dvcmQtY2FwaXRhbC1jYXNlJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmhhc0Vycm9yKCdoYXNTbWFsbENhc2UnKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuZ2V0KCdpdC5lcnJvcnMucGFzc3dvcmQtY2FwaXRhbC1jYXNlJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmhhc0Vycm9yKCdoYXNTcGVjaWFsQ2hhcmFjdGVycycpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fdHJhbnNsYXRlU2VydmljZS5nZXQoJ2l0LmVycm9ycy5wYXNzd29yZC1zcGVjaWFsLWNoYXJhY3RlcicpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5pbnZhbGlkTWVzc2FnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgZGVmYXVsdCBTdHJlbmd0aE1ldGVyIGRlc2NyaXB0aW9uIG1lc3NhZ2UgZnJvbSBUcmFuc2xhdGVTZXJ2aWNlXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHN0cmVuZ3RoTWV0ZXJEZXNjcmlwdGlvbigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGNvbnN0IGtleXMgPSBbJ2l0LmZvcm0ucGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIuZGVzY3JpcHRpb24uZGVmYXVsdCddO1xuICAgIGlmICh0aGlzLnVzZU51bWJlcikge1xuICAgICAga2V5cy5wdXNoKCdpdC5mb3JtLnBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLmRlc2NyaXB0aW9uLm51bWJlcicpO1xuICAgIH1cbiAgICBpZiAodGhpcy51c2VDYXBpdGFsQ2FzZSkge1xuICAgICAga2V5cy5wdXNoKCdpdC5mb3JtLnBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLmRlc2NyaXB0aW9uLmNhcGl0YWwtY2FzZScpO1xuICAgIH1cbiAgICBpZiAodGhpcy51c2VTcGVjaWFsQ2hhcmFjdGVycykge1xuICAgICAga2V5cy5wdXNoKCdpdC5mb3JtLnBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLmRlc2NyaXB0aW9uLnNwZWNpYWwtY2hhcmFjdGVyJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuZ2V0KGtleXMsIHsgbWluTGVuZ3RoOiB0aGlzLm1pbkxlbmd0aCB9KS5waXBlKG1hcChsYWJlbHMgPT4gT2JqZWN0LnZhbHVlcyhsYWJlbHMpLmpvaW4oJywgJykpKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgQGlmIChsYWJlbCkge1xuICAgIDxsYWJlbCBbZm9yXT1cImlkXCIgW2NsYXNzLmFjdGl2ZV09XCIhIWNvbnRyb2wudmFsdWUgfHwgISFwbGFjZWhvbGRlclwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgfVxuICA8aW5wdXRcbiAgICAjaW5wdXRcbiAgICBbaWRdPVwiaWRcIlxuICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgaW5wdXQtcGFzc3dvcmRcIlxuICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImlzSW52YWxpZFwiXG4gICAgW2NsYXNzLmlzLXZhbGlkXT1cImlzVmFsaWRcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaWQgKyAnLWRlc2NyaXB0aW9uJ1wiXG4gICAgW2F1dG9jb21wbGV0ZV09XCJjb25maXJtUGFzc3dvcmRGaWVsZCA/ICdvZmYnIDogYXV0b2NvbXBsZXRlXCIgLz5cblxuICA8c3BhbiBjbGFzcz1cInBhc3N3b3JkLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICA8aXQtaWNvbiBuYW1lPVwicGFzc3dvcmQtdmlzaWJsZVwiIHNpemU9XCJzbVwiIGNsYXNzPVwicGFzc3dvcmQtaWNvbi12aXNpYmxlXCI+PC9pdC1pY29uPlxuICAgIDxpdC1pY29uIG5hbWU9XCJwYXNzd29yZC1pbnZpc2libGVcIiBzaXplPVwic21cIiBjbGFzcz1cInBhc3N3b3JkLWljb24taW52aXNpYmxlIGQtbm9uZVwiPjwvaXQtaWNvbj5cbiAgPC9zcGFuPlxuXG4gIEBpZiAoaXNJbnZhbGlkKSB7XG4gICAgPGRpdiBbaWRdPVwiaWQgKyAnLWVycm9yJ1wiIGNsYXNzPVwiZm9ybS1mZWVkYmFjayBqdXN0LXZhbGlkYXRlLWVycm9yLWxhYmVsXCI+XG4gICAgICA8ZGl2ICNjdXN0b21FcnJvcj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Vycm9yXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgQGlmICghY3VzdG9tRXJyb3IuaGFzQ2hpbGROb2RlcygpKSB7XG4gICAgICAgIHt7IGludmFsaWRNZXNzYWdlIHwgYXN5bmMgfX1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIEBpZiAoZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCAmJiAhaXNTdHJlbmd0aE1ldGVyKSB7XG4gICAgPHNtYWxsIFtpZF09XCJpZCArICctZGVzY3JpcHRpb24nXCIgY2xhc3M9XCJmb3JtLXRleHRcIj5cbiAgICAgIHt7IGRlc2NyaXB0aW9uICE9PSB0cnVlID8gZGVzY3JpcHRpb24gOiAoc3RyZW5ndGhNZXRlckRlc2NyaXB0aW9uIHwgYXN5bmMpIH19XG4gICAgPC9zbWFsbD5cbiAgfVxuXG4gIDxzbWFsbCBjbGFzcz1cInBhc3N3b3JkLWNhcHMgZm9ybS10ZXh0IHRleHQtd2FybmluZyBwb3NpdGlvbi1hYnNvbHV0ZSBiZy13aGl0ZSB3LTEwMFwiPlxuICAgIHt7ICdpdC5mb3JtLmNhcHMtaW5zZXJ0ZWQnIHwgdHJhbnNsYXRlIH19XG4gIDwvc21hbGw+XG5cbiAgQGlmIChpc1N0cmVuZ3RoTWV0ZXIpIHtcbiAgICA8ZGl2IGNsYXNzPVwicGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXJcIj5cbiAgICAgIDxzbWFsbFxuICAgICAgICBbaWRdPVwiaWQgKyAnLWRlc2NyaXB0aW9uJ1wiXG4gICAgICAgIGNsYXNzPVwiZm9ybS10ZXh0IHRleHQtbXV0ZWRcIlxuICAgICAgICBbYXR0ci5kYXRhLWJzLXNob3J0LXBhc3NdPVwiJ2l0LmZvcm0ucGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIucGFzc3dvcmQtc2hvcnQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW2F0dHIuZGF0YS1icy1iYWQtcGFzXT1cIidpdC5mb3JtLnBhc3N3b3JkLXN0cmVuZ3RoLW1ldGVyLnBhc3N3b3JkLWJhZCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbYXR0ci5kYXRhLWJzLWdvb2QtcGFzc109XCInaXQuZm9ybS5wYXNzd29yZC1zdHJlbmd0aC1tZXRlci5wYXNzd29yZC1nb29kJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFthdHRyLmRhdGEtYnMtc3Ryb25nLXBhc3NdPVwiJ2l0LmZvcm0ucGFzc3dvcmQtc3RyZW5ndGgtbWV0ZXIucGFzc3dvcmQtc3Ryb25nJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICB7eyBkZXNjcmlwdGlvbiAhPT0gdW5kZWZpbmVkICYmIGRlc2NyaXB0aW9uICE9PSB0cnVlID8gZGVzY3JpcHRpb24gOiAoc3RyZW5ndGhNZXRlckRlc2NyaXB0aW9uIHwgYXN5bmMpIH19XG4gICAgICA8L3NtYWxsPlxuICAgICAgPGRpdiBjbGFzcz1cInBhc3N3b3JkLW1ldGVyIHByb2dyZXNzIHJvdW5kZWQtMCBwb3NpdGlvbi1hYnNvbHV0ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHBvc2l0aW9uLWFic29sdXRlIHctMTAwIG0tMFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBib3JkZXItc3RhcnQgYm9yZGVyLWVuZCBib3JkZXItd2hpdGVcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTMgYm9yZGVyLXN0YXJ0IGJvcmRlci1lbmQgYm9yZGVyLXdoaXRlXCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0zIGJvcmRlci1zdGFydCBib3JkZXItZW5kIGJvcmRlci13aGl0ZVwiPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMyBib3JkZXItc3RhcnQgYm9yZGVyLWVuZCBib3JkZXItd2hpdGVcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1iYXIgYmctbXV0ZWRcIiByb2xlPVwicHJvZ3Jlc3NiYXJcIiBhcmlhLXZhbHVlbm93PVwiMFwiIGFyaWEtdmFsdWVtaW49XCIwXCIgYXJpYS12YWx1ZW1heD1cIjEwMFwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
@@ -1,60 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { ItAbstractFormComponent } from '../../../abstracts/abstract-form.component';
3
- import { ReactiveFormsModule } from '@angular/forms';
4
- import { AsyncPipe } from '@angular/common';
5
- import { inputToBoolean } from '../../../utils/coercion';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- export class ItRadioButtonComponent extends ItAbstractFormComponent {
9
- get name() {
10
- if (this.forceRadioName) {
11
- return this.forceRadioName;
12
- }
13
- let name = '';
14
- if (this._ngControl) {
15
- name = this._ngControl.name?.toString() || '';
16
- // Retrieve parent name, prevent duplicate name inside FormArray or nested FormGroup
17
- let control = this._ngControl.control?.parent;
18
- while (control?.parent) {
19
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
- const controls = control?.parent?.controls || {};
21
- const parentName = Object.keys(controls).find(name => control === controls[name]) || null;
22
- if (!parentName) {
23
- break;
24
- }
25
- name = `${parentName}.${name}`; // parent.0.radioName
26
- control = control.parent;
27
- }
28
- }
29
- return name;
30
- }
31
- ngOnInit() {
32
- super.ngOnInit();
33
- if (this.control.value || !this.value || !this.checked) {
34
- return;
35
- }
36
- this.writeValue(this.value);
37
- return this.onChange(this.value);
38
- }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItRadioButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItRadioButtonComponent, isStandalone: true, selector: "it-radio-button", inputs: { value: "value", inline: ["inline", "inline", inputToBoolean], group: ["group", "group", inputToBoolean], checked: ["checked", "checked", inputToBoolean], forceRadioName: "forceRadioName" }, usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div class=\"form-check\" [class.form-check-group]=\"group\" [class.form-check-inline]=\"inline\">\n <input\n [id]=\"id\"\n type=\"radio\"\n [value]=\"value\"\n class=\"form-check-input\"\n [name]=\"name\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [attr.aria-describedby]=\"id + '-help'\" />\n\n <label class=\"form-check-label\" [for]=\"id\">\n <div #customLabel>\n <ng-content select=\"[label]\"></ng-content>\n </div>\n @if (!customLabel.hasChildNodes()) {\n {{ label }}\n }\n </label>\n\n @if (group) {\n <small [id]=\"id + '-help'\" class=\"form-text\">\n <ng-content></ng-content>\n </small>\n }\n\n @if (isInvalid && group) {\n <div class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n </div>\n\n @if (isInvalid && !group) {\n <div class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItRadioButtonComponent, decorators: [{
43
- type: Component,
44
- args: [{ standalone: true, selector: 'it-radio-button', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ReactiveFormsModule, AsyncPipe], template: "<ng-container>\n <div class=\"form-check\" [class.form-check-group]=\"group\" [class.form-check-inline]=\"inline\">\n <input\n [id]=\"id\"\n type=\"radio\"\n [value]=\"value\"\n class=\"form-check-input\"\n [name]=\"name\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [attr.aria-describedby]=\"id + '-help'\" />\n\n <label class=\"form-check-label\" [for]=\"id\">\n <div #customLabel>\n <ng-content select=\"[label]\"></ng-content>\n </div>\n @if (!customLabel.hasChildNodes()) {\n {{ label }}\n }\n </label>\n\n @if (group) {\n <small [id]=\"id + '-help'\" class=\"form-text\">\n <ng-content></ng-content>\n </small>\n }\n\n @if (isInvalid && group) {\n <div class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n </div>\n\n @if (isInvalid && !group) {\n <div class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n</ng-container>\n" }]
45
- }], propDecorators: { value: [{
46
- type: Input,
47
- args: [{ required: true }]
48
- }], inline: [{
49
- type: Input,
50
- args: [{ transform: inputToBoolean }]
51
- }], group: [{
52
- type: Input,
53
- args: [{ transform: inputToBoolean }]
54
- }], checked: [{
55
- type: Input,
56
- args: [{ transform: inputToBoolean }]
57
- }], forceRadioName: [{
58
- type: Input
59
- }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQVV6RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQTJEO0lBK0JyRyxJQUFJLElBQUk7UUFDTixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDN0IsQ0FBQztRQUVELElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNkLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFFOUMsb0ZBQW9GO1lBQ3BGLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztZQUM5QyxPQUFPLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsOERBQThEO2dCQUM5RCxNQUFNLFFBQVEsR0FBMkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO2dCQUN6RSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7Z0JBQzFGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDaEIsTUFBTTtnQkFDUixDQUFDO2dCQUNELElBQUksR0FBRyxHQUFHLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQjtnQkFDckQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZELE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOzhHQWxFVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwwR0FVYixjQUFjLDZCQU1kLGNBQWMsbUNBTWQsY0FBYyxzRkNwQ3BDLGc4Q0FtREEseUREdkNZLG1CQUFtQix3eEJBQUUsU0FBUzs7MkZBRTdCLHNCQUFzQjtrQkFSbEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04saUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLENBQUM7OEJBTWQsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBTWEsTUFBTTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsS0FBSztzQkFBMUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsT0FBTztzQkFBNUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTzNCLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdEFic3RyYWN0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Fic3RyYWN0cy9hYnN0cmFjdC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGlucHV0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29lcmNpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1yYWRpby1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgQXN5bmNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgSXRSYWRpb0J1dHRvbkNvbXBvbmVudCBleHRlbmRzIEl0QWJzdHJhY3RGb3JtQ29tcG9uZW50PHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIFRoZSByYWRpbyB2YWx1ZVxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIElmIHNob3cgcmFkaW8gaW5saW5lXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGlubGluZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGlzIHJhZGlvIGdyb3VwXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGdyb3VwPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgaXMgcmFkaW8gaXMgY2hlY2tlZFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBjaGVja2VkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0IHRoZSByYWRpbyBuYW1lIG1hbnVhbGx5LlxuICAgKiBGb3IgZXhhbXBsZSB3aGVuIHRoZSByYWRpbyBidXR0b24gbmFtZSBpcyBkdXBsaWNhdGVkIGluc2lkZSBwYWdlXG4gICAqIEBkZWZhdWx0IGJ5IGRlZmF1bHQgdGhlIHJhZGlvIG5hbWUgaXMgY2FsY3VsYXRlZCBmcm9tIGZvcm0gZmllbGQgbmFtZVxuICAgKi9cbiAgQElucHV0KCkgZm9yY2VSYWRpb05hbWU/OiBzdHJpbmc7XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5mb3JjZVJhZGlvTmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9yY2VSYWRpb05hbWU7XG4gICAgfVxuXG4gICAgbGV0IG5hbWUgPSAnJztcbiAgICBpZiAodGhpcy5fbmdDb250cm9sKSB7XG4gICAgICBuYW1lID0gdGhpcy5fbmdDb250cm9sLm5hbWU/LnRvU3RyaW5nKCkgfHwgJyc7XG5cbiAgICAgIC8vIFJldHJpZXZlIHBhcmVudCBuYW1lLCBwcmV2ZW50IGR1cGxpY2F0ZSBuYW1lIGluc2lkZSBGb3JtQXJyYXkgb3IgbmVzdGVkIEZvcm1Hcm91cFxuICAgICAgbGV0IGNvbnRyb2wgPSB0aGlzLl9uZ0NvbnRyb2wuY29udHJvbD8ucGFyZW50O1xuICAgICAgd2hpbGUgKGNvbnRyb2w/LnBhcmVudCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBjb25zdCBjb250cm9sczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IGNvbnRyb2w/LnBhcmVudD8uY29udHJvbHMgfHwge307XG4gICAgICAgIGNvbnN0IHBhcmVudE5hbWUgPSBPYmplY3Qua2V5cyhjb250cm9scykuZmluZChuYW1lID0+IGNvbnRyb2wgPT09IGNvbnRyb2xzW25hbWVdKSB8fCBudWxsO1xuICAgICAgICBpZiAoIXBhcmVudE5hbWUpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBuYW1lID0gYCR7cGFyZW50TmFtZX0uJHtuYW1lfWA7IC8vIHBhcmVudC4wLnJhZGlvTmFtZVxuICAgICAgICBjb250cm9sID0gY29udHJvbC5wYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5hbWU7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZSB8fCAhdGhpcy52YWx1ZSB8fCAhdGhpcy5jaGVja2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy53cml0ZVZhbHVlKHRoaXMudmFsdWUpO1xuICAgIHJldHVybiB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiIFtjbGFzcy5mb3JtLWNoZWNrLWdyb3VwXT1cImdyb3VwXCIgW2NsYXNzLmZvcm0tY2hlY2staW5saW5lXT1cImlubGluZVwiPlxuICAgIDxpbnB1dFxuICAgICAgW2lkXT1cImlkXCJcbiAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcbiAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiaXNJbnZhbGlkXCJcbiAgICAgIFtjbGFzcy5pcy12YWxpZF09XCJpc1ZhbGlkXCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaWQgKyAnLWhlbHAnXCIgLz5cblxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBbZm9yXT1cImlkXCI+XG4gICAgICA8ZGl2ICNjdXN0b21MYWJlbD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2xhYmVsXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgQGlmICghY3VzdG9tTGFiZWwuaGFzQ2hpbGROb2RlcygpKSB7XG4gICAgICAgIHt7IGxhYmVsIH19XG4gICAgICB9XG4gICAgPC9sYWJlbD5cblxuICAgIEBpZiAoZ3JvdXApIHtcbiAgICAgIDxzbWFsbCBbaWRdPVwiaWQgKyAnLWhlbHAnXCIgY2xhc3M9XCJmb3JtLXRleHRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9zbWFsbD5cbiAgICB9XG5cbiAgICBAaWYgKGlzSW52YWxpZCAmJiBncm91cCkge1xuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZmVlZGJhY2sganVzdC12YWxpZGF0ZS1lcnJvci1sYWJlbFwiIFtpZF09XCJpZCArICctZXJyb3InXCI+XG4gICAgICAgIDxkaXYgI2N1c3RvbUVycm9yPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlcnJvcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKCFjdXN0b21FcnJvci5oYXNDaGlsZE5vZGVzKCkpIHtcbiAgICAgICAgICB7eyBpbnZhbGlkTWVzc2FnZSB8IGFzeW5jIH19XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgQGlmIChpc0ludmFsaWQgJiYgIWdyb3VwKSB7XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZmVlZGJhY2sganVzdC12YWxpZGF0ZS1lcnJvci1sYWJlbFwiIFtpZF09XCJpZCArICctZXJyb3InXCI+XG4gICAgICA8ZGl2ICNjdXN0b21FcnJvcj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Vycm9yXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgQGlmICghY3VzdG9tRXJyb3IuaGFzQ2hpbGROb2RlcygpKSB7XG4gICAgICAgIHt7IGludmFsaWRNZXNzYWdlIHwgYXN5bmMgfX1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,64 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewChild, } from '@angular/core';
2
- import { ItAbstractFormComponent } from '../../../abstracts/abstract-form.component';
3
- import { ReactiveFormsModule } from '@angular/forms';
4
- import { distinctUntilChanged, startWith } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- export class ItRangeComponent extends ItAbstractFormComponent {
8
- ngOnInit() {
9
- super.ngOnInit();
10
- this.subscription = this.control.valueChanges
11
- .pipe(distinctUntilChanged(), startWith(undefined))
12
- .subscribe(() => this.updateSliderColor());
13
- }
14
- ngOnChanges(changes) {
15
- if (changes['leftColor']) {
16
- this.slider.nativeElement.style.setProperty('--range-left-color', this.leftColor ?? null);
17
- }
18
- if (changes['rightColor']) {
19
- this.slider.nativeElement.style.setProperty('--range-right-color', this.rightColor ?? null);
20
- }
21
- }
22
- ngOnDestroy() {
23
- this.subscription?.unsubscribe();
24
- }
25
- writeValue(value) {
26
- super.writeValue(value);
27
- this.updateSliderColor();
28
- }
29
- /**
30
- * Update the percentage of slider color
31
- * @private
32
- */
33
- updateSliderColor() {
34
- if (!this.leftColor || !this.rightColor) {
35
- return;
36
- }
37
- const max = Number(this.slider.nativeElement.max) || 100;
38
- const min = Number(this.slider.nativeElement.min) || 0;
39
- // Calculate visible width
40
- const diff = max - min;
41
- const val = (((this.control.value ?? diff / 2) - min) * 100) / diff;
42
- this.slider.nativeElement.style.setProperty('--range-percentage', `${val}%`);
43
- }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItRangeComponent, isStandalone: true, selector: "it-range", inputs: { max: "max", min: "min", step: "step", leftColor: "leftColor", rightColor: "rightColor" }, viewQueries: [{ propertyName: "slider", first: true, predicate: ["slider"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex justify-content-between align-items-center\">\n @if (label) {\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n }\n <ng-content></ng-content>\n</div>\n\n<input\n #slider\n [id]=\"id\"\n type=\"range\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n class=\"form-range\"\n [class.double-color]=\"!!leftColor && !!rightColor\"\n [formControl]=\"control\" />\n", styles: [".form-range.double-color::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--range-left-color) var(--range-percentage),var(--range-right-color) var(--range-percentage))}.form-range.double-color::-moz-range-track{background:linear-gradient(to right,var(--range-left-color) var(--range-percentage),var(--range-right-color) var(--range-percentage))}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
- }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItRangeComponent, decorators: [{
48
- type: Component,
49
- args: [{ selector: 'it-range', standalone: true, imports: [ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"d-flex justify-content-between align-items-center\">\n @if (label) {\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n }\n <ng-content></ng-content>\n</div>\n\n<input\n #slider\n [id]=\"id\"\n type=\"range\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n class=\"form-range\"\n [class.double-color]=\"!!leftColor && !!rightColor\"\n [formControl]=\"control\" />\n", styles: [".form-range.double-color::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--range-left-color) var(--range-percentage),var(--range-right-color) var(--range-percentage))}.form-range.double-color::-moz-range-track{background:linear-gradient(to right,var(--range-left-color) var(--range-percentage),var(--range-right-color) var(--range-percentage))}\n"] }]
50
- }], propDecorators: { max: [{
51
- type: Input
52
- }], min: [{
53
- type: Input
54
- }], step: [{
55
- type: Input
56
- }], leftColor: [{
57
- type: Input
58
- }], rightColor: [{
59
- type: Input
60
- }], slider: [{
61
- type: ViewChild,
62
- args: ['slider', { static: true }]
63
- }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3JhbmdlL3JhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYW5nZS9yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxLQUFLLEVBS0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7QUFVckUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLHVCQUFrRDtJQWtDN0UsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWTthQUMxQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDbEQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVRLFdBQVcsQ0FBQyxPQUFzQjtRQUN6QyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUM1RixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUM7UUFDOUYsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRVEsVUFBVSxDQUFDLEtBQWdDO1FBQ2xELEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN4QyxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUM7UUFDekQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2RCwwQkFBMEI7UUFDMUIsTUFBTSxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUN2QixNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQy9FLENBQUM7OEdBM0VVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLG9VQ3ZCN0IsNlpBaUJBLDBhRENZLG1CQUFtQjs7MkZBS2xCLGdCQUFnQjtrQkFSNUIsU0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxXQUNQLENBQUMsbUJBQW1CLENBQUMsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTs4QkFNdEMsR0FBRztzQkFBWCxLQUFLO2dCQUtHLEdBQUc7c0JBQVgsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFPRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVpQyxNQUFNO3NCQUE1QyxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0QWJzdHJhY3RGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYWJzdHJhY3RzL2Fic3RyYWN0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtcmFuZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yYW5nZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhbmdlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBJdFJhbmdlQ29tcG9uZW50IGV4dGVuZHMgSXRBYnN0cmFjdEZvcm1Db21wb25lbnQ8bnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZD4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBtYXggdmFsdWVcbiAgICovXG4gIEBJbnB1dCgpIG1heD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1pbiB2YWx1ZVxuICAgKi9cbiAgQElucHV0KCkgbWluPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RlcCB2YWx1ZVxuICAgKi9cbiAgQElucHV0KCkgc3RlcD86IG51bWJlciB8ICdhbnknO1xuXG4gIC8qKlxuICAgKiBUaGUgY29sb3Igb24gbGVmdCBvZiB0aHVtYiBbUmVxdWlyZSByaWdodENvbG9yXVxuICAgKiBAZXhhbXBsZSAnIzBkNmVmZCcgb3IgJ3ZhcigtLWJzLXByaW1hcnkpJ1xuICAgKiBAZGVmYXVsdCB1bmRlZmluZWQgKCd2YXIoLS1icy1ncmF5LTMwMCknKVxuICAgKi9cbiAgQElucHV0KCkgbGVmdENvbG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29sb3Igb24gcmlnaHQgb2YgdGh1bWIgW1JlcXVpcmUgbGVmdENvbG9yXVxuICAgKiBAZXhhbXBsZSAnIzBkNmVmZCcgb3IgJ3ZhcigtLWJzLXByaW1hcnkpJ1xuICAgKiBAZGVmYXVsdCB1bmRlZmluZWQgKCd2YXIoLS1icy1ncmF5LTMwMCknKVxuICAgKi9cbiAgQElucHV0KCkgcmlnaHRDb2xvcj86IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdzbGlkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBzbGlkZXIhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzdGFydFdpdGgodW5kZWZpbmVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVTbGlkZXJDb2xvcigpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snbGVmdENvbG9yJ10pIHtcbiAgICAgIHRoaXMuc2xpZGVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tcmFuZ2UtbGVmdC1jb2xvcicsIHRoaXMubGVmdENvbG9yID8/IG51bGwpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1sncmlnaHRDb2xvciddKSB7XG4gICAgICB0aGlzLnNsaWRlci5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXJhbmdlLXJpZ2h0LWNvbG9yJywgdGhpcy5yaWdodENvbG9yID8/IG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgIHRoaXMudXBkYXRlU2xpZGVyQ29sb3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIHBlcmNlbnRhZ2Ugb2Ygc2xpZGVyIGNvbG9yXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZVNsaWRlckNvbG9yKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5sZWZ0Q29sb3IgfHwgIXRoaXMucmlnaHRDb2xvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1heCA9IE51bWJlcih0aGlzLnNsaWRlci5uYXRpdmVFbGVtZW50Lm1heCkgfHwgMTAwO1xuICAgIGNvbnN0IG1pbiA9IE51bWJlcih0aGlzLnNsaWRlci5uYXRpdmVFbGVtZW50Lm1pbikgfHwgMDtcblxuICAgIC8vIENhbGN1bGF0ZSB2aXNpYmxlIHdpZHRoXG4gICAgY29uc3QgZGlmZiA9IG1heCAtIG1pbjtcbiAgICBjb25zdCB2YWwgPSAoKCh0aGlzLmNvbnRyb2wudmFsdWUgPz8gZGlmZiAvIDIpIC0gbWluKSAqIDEwMCkgLyBkaWZmO1xuICAgIHRoaXMuc2xpZGVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tcmFuZ2UtcGVyY2VudGFnZScsIGAke3ZhbH0lYCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gIEBpZiAobGFiZWwpIHtcbiAgICA8bGFiZWwgW2Zvcl09XCJpZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgfVxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPGlucHV0XG4gICNzbGlkZXJcbiAgW2lkXT1cImlkXCJcbiAgdHlwZT1cInJhbmdlXCJcbiAgW21pbl09XCJtaW5cIlxuICBbbWF4XT1cIm1heFwiXG4gIFtzdGVwXT1cInN0ZXBcIlxuICBjbGFzcz1cImZvcm0tcmFuZ2VcIlxuICBbY2xhc3MuZG91YmxlLWNvbG9yXT1cIiEhbGVmdENvbG9yICYmICEhcmlnaHRDb2xvclwiXG4gIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgLz5cbiJdfQ==
@@ -1,50 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { ItAbstractFormComponent } from '../../../abstracts/abstract-form.component';
3
- import { TranslateModule } from '@ngx-translate/core';
4
- import { ReactiveFormsModule } from '@angular/forms';
5
- import { ItIconComponent } from '../../utils/icon/icon.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@ngx-translate/core";
8
- import * as i2 from "@angular/forms";
9
- export class ItRatingComponent extends ItAbstractFormComponent {
10
- constructor() {
11
- super(...arguments);
12
- /**
13
- * Number of stars to show
14
- * @default 5
15
- */
16
- this.starCount = 5;
17
- this.stars = this.generateStars();
18
- }
19
- ngOnChanges(changes) {
20
- super.ngOnChanges(changes);
21
- if (changes['starCount'] || !this.stars.length) {
22
- this.stars = this.generateStars();
23
- }
24
- }
25
- ngOnInit() {
26
- super.ngOnInit();
27
- if (!this.control.value && !!this.value) {
28
- this.writeValue(this.value);
29
- this.onChange(this.value);
30
- }
31
- }
32
- /**
33
- * Generate the array of stars
34
- * @private
35
- */
36
- generateStars() {
37
- return Array.from({ length: this.starCount }, (_, i) => i + 1).reverse();
38
- }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItRatingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItRatingComponent, isStandalone: true, selector: "it-rating", inputs: { value: "value", starCount: "starCount" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fieldset class=\"rating\" [class.rating-label]=\"!!label\" [class.rating-read-only]=\"control.disabled\">\n <legend>\n <span>{{ label }}</span>\n <span class=\"visually-hidden\">\n {{ 'it.core.rating-star' | translate: { current: control.value || 0, total: stars.length } }}\n </span>\n </legend>\n\n @for (starValue of stars; track starValue) {\n <input\n [id]=\"id + '-' + starValue\"\n type=\"radio\"\n [name]=\"id\"\n [value]=\"starValue\"\n [attr.aria-hidden]=\"control.disabled\"\n [formControl]=\"control\" />\n <label class=\"full\" [for]=\"id + '-' + starValue\">\n <it-icon name=\"star-full\" size=\"sm\" aria-hidden=\"true\"></it-icon>\n <span class=\"visually-hidden\">\n {{ 'it.core.rate-star' | translate: { current: starValue, total: stars.length } }}\n </span>\n </label>\n }\n</fieldset>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItRatingComponent, decorators: [{
43
- type: Component,
44
- args: [{ standalone: true, selector: 'it-rating', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, ReactiveFormsModule, ItIconComponent], template: "<fieldset class=\"rating\" [class.rating-label]=\"!!label\" [class.rating-read-only]=\"control.disabled\">\n <legend>\n <span>{{ label }}</span>\n <span class=\"visually-hidden\">\n {{ 'it.core.rating-star' | translate: { current: control.value || 0, total: stars.length } }}\n </span>\n </legend>\n\n @for (starValue of stars; track starValue) {\n <input\n [id]=\"id + '-' + starValue\"\n type=\"radio\"\n [name]=\"id\"\n [value]=\"starValue\"\n [attr.aria-hidden]=\"control.disabled\"\n [formControl]=\"control\" />\n <label class=\"full\" [for]=\"id + '-' + starValue\">\n <it-icon name=\"star-full\" size=\"sm\" aria-hidden=\"true\"></it-icon>\n <span class=\"visually-hidden\">\n {{ 'it.core.rate-star' | translate: { current: starValue, total: stars.length } }}\n </span>\n </label>\n }\n</fieldset>\n" }]
45
- }], propDecorators: { value: [{
46
- type: Input
47
- }], starCount: [{
48
- type: Input
49
- }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYXRpbmcvcmF0aW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYXRpbmcvcmF0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBU2xFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSx1QkFBa0Q7SUFQekY7O1FBYUU7OztXQUdHO1FBQ00sY0FBUyxHQUFXLENBQUMsQ0FBQztRQUVyQixVQUFLLEdBQWtCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztLQTBCdkQ7SUF4QlUsV0FBVyxDQUFDLE9BQXNCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0IsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRVEsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGFBQWE7UUFDbkIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzRSxDQUFDOzhHQXJDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixxS0NiOUIsdzNCQXdCQSwyQ0RiWSxlQUFlLDJGQUFFLG1CQUFtQiw2eEJBQUUsZUFBZTs7MkZBRXBELGlCQUFpQjtrQkFQN0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sV0FBVyxtQkFFSix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGVBQWUsQ0FBQzs4QkFNdkQsS0FBSztzQkFBYixLQUFLO2dCQU1HLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0QWJzdHJhY3RGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYWJzdHJhY3RzL2Fic3RyYWN0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEl0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1yYXRpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmF0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtUcmFuc2xhdGVNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEl0SWNvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEl0UmF0aW5nQ29tcG9uZW50IGV4dGVuZHMgSXRBYnN0cmFjdEZvcm1Db21wb25lbnQ8bnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZD4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBUaGUgcmF0aW5nIHZhbHVlXG4gICAqL1xuICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2Ygc3RhcnMgdG8gc2hvd1xuICAgKiBAZGVmYXVsdCA1XG4gICAqL1xuICBASW5wdXQoKSBzdGFyQ291bnQ6IG51bWJlciA9IDU7XG5cbiAgcHJvdGVjdGVkIHN0YXJzOiBBcnJheTxudW1iZXI+ID0gdGhpcy5nZW5lcmF0ZVN0YXJzKCk7XG5cbiAgb3ZlcnJpZGUgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuXG4gICAgaWYgKGNoYW5nZXNbJ3N0YXJDb3VudCddIHx8ICF0aGlzLnN0YXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5zdGFycyA9IHRoaXMuZ2VuZXJhdGVTdGFycygpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICBpZiAoIXRoaXMuY29udHJvbC52YWx1ZSAmJiAhIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIHRoZSBhcnJheSBvZiBzdGFyc1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZVN0YXJzKCk6IEFycmF5PG51bWJlcj4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLnN0YXJDb3VudCB9LCAoXywgaSkgPT4gaSArIDEpLnJldmVyc2UoKTtcbiAgfVxufVxuIiwiPGZpZWxkc2V0IGNsYXNzPVwicmF0aW5nXCIgW2NsYXNzLnJhdGluZy1sYWJlbF09XCIhIWxhYmVsXCIgW2NsYXNzLnJhdGluZy1yZWFkLW9ubHldPVwiY29udHJvbC5kaXNhYmxlZFwiPlxuICA8bGVnZW5kPlxuICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICB7eyAnaXQuY29yZS5yYXRpbmctc3RhcicgfCB0cmFuc2xhdGU6IHsgY3VycmVudDogY29udHJvbC52YWx1ZSB8fCAwLCB0b3RhbDogc3RhcnMubGVuZ3RoIH0gfX1cbiAgICA8L3NwYW4+XG4gIDwvbGVnZW5kPlxuXG4gIEBmb3IgKHN0YXJWYWx1ZSBvZiBzdGFyczsgdHJhY2sgc3RhclZhbHVlKSB7XG4gICAgPGlucHV0XG4gICAgICBbaWRdPVwiaWQgKyAnLScgKyBzdGFyVmFsdWVcIlxuICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgIFtuYW1lXT1cImlkXCJcbiAgICAgIFt2YWx1ZV09XCJzdGFyVmFsdWVcIlxuICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiY29udHJvbC5kaXNhYmxlZFwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIC8+XG4gICAgPGxhYmVsIGNsYXNzPVwiZnVsbFwiIFtmb3JdPVwiaWQgKyAnLScgKyBzdGFyVmFsdWVcIj5cbiAgICAgIDxpdC1pY29uIG5hbWU9XCJzdGFyLWZ1bGxcIiBzaXplPVwic21cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2l0LWljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlxuICAgICAgICB7eyAnaXQuY29yZS5yYXRlLXN0YXInIHwgdHJhbnNsYXRlOiB7IGN1cnJlbnQ6IHN0YXJWYWx1ZSwgdG90YWw6IHN0YXJzLmxlbmd0aCB9IH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgfVxuPC9maWVsZHNldD5cbiJdfQ==
@@ -1,70 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { ItAbstractFormComponent } from '../../../abstracts/abstract-form.component';
3
- import { AsyncPipe } from '@angular/common';
4
- import { ReactiveFormsModule } from '@angular/forms';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- export class ItSelectComponent extends ItAbstractFormComponent {
8
- ngOnInit() {
9
- super.ngOnInit();
10
- if (this.control.value) {
11
- return;
12
- }
13
- const selectedOption = this.options?.find(this.optionIsSelected);
14
- if (selectedOption) {
15
- this.writeValue(selectedOption.value);
16
- if (this._ngControl?.control && selectedOption.value !== this._ngControl.control.value) {
17
- this.onChange(selectedOption.value);
18
- }
19
- return;
20
- }
21
- const selectedGroupOption = this.groups?.flatMap(g => g.options).find(this.optionIsSelected);
22
- if (selectedGroupOption) {
23
- this.writeValue(selectedGroupOption.value);
24
- if (this._ngControl?.control && selectedGroupOption.value !== this._ngControl.control.value) {
25
- this.onChange(selectedGroupOption.value);
26
- }
27
- }
28
- }
29
- /**
30
- * Check if the option is selected
31
- * @param option the option
32
- */
33
- optionIsSelected(option) {
34
- if (option.selected === true) {
35
- return true;
36
- }
37
- if (typeof option.selected === 'function') {
38
- return option.selected(this.control.value);
39
- }
40
- return false;
41
- }
42
- /**
43
- * Check if the option is disabled
44
- * @param option the option
45
- */
46
- optionIsDisabled(option) {
47
- if (option.disabled === true) {
48
- return true;
49
- }
50
- if (typeof option.disabled === 'function') {
51
- return option.disabled(this.control.value);
52
- }
53
- return false;
54
- }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItSelectComponent, isStandalone: true, selector: "it-select", inputs: { options: "options", groups: "groups", description: "description", defaultOption: "defaultOption" }, usesInheritance: true, ngImport: i0, template: "<div class=\"select-wrapper\">\n @if (label) {\n <label [for]=\"id\">{{ label }}</label>\n }\n <select\n [id]=\"id\"\n [formControl]=\"control\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n (blur)=\"markAsTouched()\"\n [attr.aria-describedby]=\"id + '-description'\">\n @if (defaultOption) {\n <option [ngValue]=\"null\" disabled selected>\n {{ defaultOption }}\n </option>\n }\n\n <ng-content></ng-content>\n\n @if (options) {\n @for (option of options; track option.value) {\n <option [disabled]=\"optionIsDisabled(option)\" [ngValue]=\"option.value\">\n {{ option.text ?? option.value }}\n </option>\n }\n }\n\n @if (groups) {\n @for (group of groups; track group) {\n <optgroup [label]=\"group.label\">\n @for (option of group.options; track option.value) {\n <option [disabled]=\"optionIsDisabled(option)\" [ngValue]=\"option.value\">\n {{ option.text ?? option.value }}\n </option>\n }\n </optgroup>\n }\n }\n </select>\n @if (description) {\n <small [id]=\"id + '-description'\" class=\"form-text\">{{ description }}</small>\n }\n\n @if (isInvalid) {\n <div class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n</div>\n", styles: [".select-wrapper{margin-bottom:1.7rem}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSelectComponent, decorators: [{
59
- type: Component,
60
- args: [{ standalone: true, selector: 'it-select', imports: [ReactiveFormsModule, AsyncPipe], template: "<div class=\"select-wrapper\">\n @if (label) {\n <label [for]=\"id\">{{ label }}</label>\n }\n <select\n [id]=\"id\"\n [formControl]=\"control\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n (blur)=\"markAsTouched()\"\n [attr.aria-describedby]=\"id + '-description'\">\n @if (defaultOption) {\n <option [ngValue]=\"null\" disabled selected>\n {{ defaultOption }}\n </option>\n }\n\n <ng-content></ng-content>\n\n @if (options) {\n @for (option of options; track option.value) {\n <option [disabled]=\"optionIsDisabled(option)\" [ngValue]=\"option.value\">\n {{ option.text ?? option.value }}\n </option>\n }\n }\n\n @if (groups) {\n @for (group of groups; track group) {\n <optgroup [label]=\"group.label\">\n @for (option of group.options; track option.value) {\n <option [disabled]=\"optionIsDisabled(option)\" [ngValue]=\"option.value\">\n {{ option.text ?? option.value }}\n </option>\n }\n </optgroup>\n }\n }\n </select>\n @if (description) {\n <small [id]=\"id + '-description'\" class=\"form-text\">{{ description }}</small>\n }\n\n @if (isInvalid) {\n <div class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n</div>\n", styles: [".select-wrapper{margin-bottom:1.7rem}\n"] }]
61
- }], propDecorators: { options: [{
62
- type: Input
63
- }], groups: [{
64
- type: Input
65
- }], description: [{
66
- type: Input
67
- }], defaultOption: [{
68
- type: Input
69
- }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBU3JELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSx1QkFBdUI7SUFzQm5ELFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakUsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxJQUFJLGNBQWMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3ZGLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLENBQUM7WUFDRCxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdGLElBQUksbUJBQW1CLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLElBQUksbUJBQW1CLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM1RixJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILGdCQUFnQixDQUFDLE1BQTJCO1FBQzFDLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLE9BQU8sTUFBTSxDQUFDLFFBQVEsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUMxQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZ0JBQWdCLENBQUMsTUFBMkI7UUFDMUMsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELElBQUksT0FBTyxNQUFNLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzFDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBNUVVLGlCQUFpQjtrR0FBakIsaUJBQWlCLDBNQ2I5QixxaERBc0RBLGdHRDNDWSxtQkFBbUIsZ3RCQUFFLFNBQVM7OzJGQUU3QixpQkFBaUI7a0JBUDdCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLFdBQVcsV0FHWixDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQzs4QkFNaEMsT0FBTztzQkFBZixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQU1HLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0QWJzdHJhY3RGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYWJzdHJhY3RzL2Fic3RyYWN0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdENvbnRyb2xHcm91cCwgU2VsZWN0Q29udHJvbE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZm9ybSc7XG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgQXN5bmNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgSXRTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBJdEFic3RyYWN0Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBUaGUgc2VsZWN0IG9wdGlvbnNcbiAgICovXG4gIEBJbnB1dCgpIG9wdGlvbnM6IEFycmF5PFNlbGVjdENvbnRyb2xPcHRpb24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VsZWN0IGdyb3VwIG9wdGlvbnNcbiAgICovXG4gIEBJbnB1dCgpIGdyb3VwczogQXJyYXk8U2VsZWN0Q29udHJvbEdyb3VwPiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHNlbGVjdCBkZXNjcmlwdGlvblxuICAgKi9cbiAgQElucHV0KCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIHNldCwgYWRkIGEgYGRpc2FibGVkIHNlbGVjdGVkYCBvcHRpb24gd2l0aCB2YWx1ZSBgbnVsbGAgYW5kIGFzIHRleHQgdGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGVcbiAgICogQGV4YW1wbGUgJ1NlbGVjdCBhbiBvcHRpb24nXG4gICAqL1xuICBASW5wdXQoKSBkZWZhdWx0T3B0aW9uPzogc3RyaW5nO1xuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICBpZiAodGhpcy5jb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5vcHRpb25zPy5maW5kKHRoaXMub3B0aW9uSXNTZWxlY3RlZCk7XG4gICAgaWYgKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUoc2VsZWN0ZWRPcHRpb24udmFsdWUpO1xuICAgICAgaWYgKHRoaXMuX25nQ29udHJvbD8uY29udHJvbCAmJiBzZWxlY3RlZE9wdGlvbi52YWx1ZSAhPT0gdGhpcy5fbmdDb250cm9sLmNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShzZWxlY3RlZE9wdGlvbi52YWx1ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0ZWRHcm91cE9wdGlvbiA9IHRoaXMuZ3JvdXBzPy5mbGF0TWFwKGcgPT4gZy5vcHRpb25zKS5maW5kKHRoaXMub3B0aW9uSXNTZWxlY3RlZCk7XG4gICAgaWYgKHNlbGVjdGVkR3JvdXBPcHRpb24pIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShzZWxlY3RlZEdyb3VwT3B0aW9uLnZhbHVlKTtcbiAgICAgIGlmICh0aGlzLl9uZ0NvbnRyb2w/LmNvbnRyb2wgJiYgc2VsZWN0ZWRHcm91cE9wdGlvbi52YWx1ZSAhPT0gdGhpcy5fbmdDb250cm9sLmNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShzZWxlY3RlZEdyb3VwT3B0aW9uLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIG9wdGlvbiBpcyBzZWxlY3RlZFxuICAgKiBAcGFyYW0gb3B0aW9uIHRoZSBvcHRpb25cbiAgICovXG4gIG9wdGlvbklzU2VsZWN0ZWQob3B0aW9uOiBTZWxlY3RDb250cm9sT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgaWYgKG9wdGlvbi5zZWxlY3RlZCA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBvcHRpb24uc2VsZWN0ZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBvcHRpb24uc2VsZWN0ZWQodGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdGhlIG9wdGlvbiBpcyBkaXNhYmxlZFxuICAgKiBAcGFyYW0gb3B0aW9uIHRoZSBvcHRpb25cbiAgICovXG4gIG9wdGlvbklzRGlzYWJsZWQob3B0aW9uOiBTZWxlY3RDb250cm9sT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgaWYgKG9wdGlvbi5kaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBvcHRpb24uZGlzYWJsZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBvcHRpb24uZGlzYWJsZWQodGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZWxlY3Qtd3JhcHBlclwiPlxuICBAaWYgKGxhYmVsKSB7XG4gICAgPGxhYmVsIFtmb3JdPVwiaWRcIj57eyBsYWJlbCB9fTwvbGFiZWw+XG4gIH1cbiAgPHNlbGVjdFxuICAgIFtpZF09XCJpZFwiXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgIFtjbGFzcy5pcy1pbnZhbGlkXT1cImlzSW52YWxpZFwiXG4gICAgW2NsYXNzLmlzLXZhbGlkXT1cImlzVmFsaWRcIlxuICAgIChibHVyKT1cIm1hcmtBc1RvdWNoZWQoKVwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpZCArICctZGVzY3JpcHRpb24nXCI+XG4gICAgQGlmIChkZWZhdWx0T3B0aW9uKSB7XG4gICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBkaXNhYmxlZCBzZWxlY3RlZD5cbiAgICAgICAge3sgZGVmYXVsdE9wdGlvbiB9fVxuICAgICAgPC9vcHRpb24+XG4gICAgfVxuXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gICAgQGlmIChvcHRpb25zKSB7XG4gICAgICBAZm9yIChvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2sgb3B0aW9uLnZhbHVlKSB7XG4gICAgICAgIDxvcHRpb24gW2Rpc2FibGVkXT1cIm9wdGlvbklzRGlzYWJsZWQob3B0aW9uKVwiIFtuZ1ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPlxuICAgICAgICAgIHt7IG9wdGlvbi50ZXh0ID8/IG9wdGlvbi52YWx1ZSB9fVxuICAgICAgICA8L29wdGlvbj5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKGdyb3Vwcykge1xuICAgICAgQGZvciAoZ3JvdXAgb2YgZ3JvdXBzOyB0cmFjayBncm91cCkge1xuICAgICAgICA8b3B0Z3JvdXAgW2xhYmVsXT1cImdyb3VwLmxhYmVsXCI+XG4gICAgICAgICAgQGZvciAob3B0aW9uIG9mIGdyb3VwLm9wdGlvbnM7IHRyYWNrIG9wdGlvbi52YWx1ZSkge1xuICAgICAgICAgICAgPG9wdGlvbiBbZGlzYWJsZWRdPVwib3B0aW9uSXNEaXNhYmxlZChvcHRpb24pXCIgW25nVmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+XG4gICAgICAgICAgICAgIHt7IG9wdGlvbi50ZXh0ID8/IG9wdGlvbi52YWx1ZSB9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgfVxuICAgICAgICA8L29wdGdyb3VwPlxuICAgICAgfVxuICAgIH1cbiAgPC9zZWxlY3Q+XG4gIEBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICA8c21hbGwgW2lkXT1cImlkICsgJy1kZXNjcmlwdGlvbidcIiBjbGFzcz1cImZvcm0tdGV4dFwiPnt7IGRlc2NyaXB0aW9uIH19PC9zbWFsbD5cbiAgfVxuXG4gIEBpZiAoaXNJbnZhbGlkKSB7XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZmVlZGJhY2sganVzdC12YWxpZGF0ZS1lcnJvci1sYWJlbFwiIFtpZF09XCJpZCArICctZXJyb3InXCI+XG4gICAgICA8ZGl2ICNjdXN0b21FcnJvcj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Vycm9yXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgQGlmICghY3VzdG9tRXJyb3IuaGFzQ2hpbGROb2RlcygpKSB7XG4gICAgICAgIHt7IGludmFsaWRNZXNzYWdlIHwgYXN5bmMgfX1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -1,55 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { ItAbstractFormComponent } from '../../../abstracts/abstract-form.component';
3
- import { AsyncPipe } from '@angular/common';
4
- import { ReactiveFormsModule } from '@angular/forms';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- export class ItTextareaComponent extends ItAbstractFormComponent {
8
- constructor() {
9
- super(...arguments);
10
- /**
11
- * Textarea Rows
12
- * @default 3
13
- */
14
- this.rows = 3;
15
- /**
16
- * The textarea placeholder
17
- */
18
- this.placeholder = '';
19
- }
20
- /**
21
- * Return the invalid message string from TranslateService
22
- */
23
- get invalidMessage() {
24
- if (this.hasError('maxlength')) {
25
- const error = this.getError('maxlength');
26
- return this._translateService.get('it.errors.max-length-invalid', { max: error.requiredLength });
27
- }
28
- if (this.hasError('pattern')) {
29
- const error = this.getError('pattern');
30
- return this._translateService.get('it.errors.pattern-invalid', { pattern: error.requiredPattern });
31
- }
32
- return super.invalidMessage;
33
- }
34
- /**
35
- * Check is readonly field
36
- */
37
- get isReadonly() {
38
- return this.readonly === 'plaintext' || !!this.readonly;
39
- }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItTextareaComponent, isStandalone: true, selector: "it-textarea", inputs: { rows: "rows", placeholder: "placeholder", description: "description", readonly: "readonly" }, usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\">\n @if (label) {\n <label [for]=\"id\" [class.active]=\"!!control.value || !!placeholder\">{{ label }}</label>\n }\n <textarea\n [id]=\"id\"\n [rows]=\"rows\"\n [class.form-control]=\"readonly !== 'plaintext'\"\n [class.form-control-plaintext]=\"readonly === 'plaintext'\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n [readonly]=\"isReadonly\"\n (blur)=\"markAsTouched()\"></textarea>\n\n @if (description) {\n <small [id]=\"id + '-description'\" class=\"form-text\">{{ description }}</small>\n }\n @if (isInvalid) {\n <div class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n</div>\n", styles: ["textarea.is-invalid{border-color:#cc334d}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTextareaComponent, decorators: [{
44
- type: Component,
45
- args: [{ standalone: true, selector: 'it-textarea', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ReactiveFormsModule, AsyncPipe], template: "<div class=\"form-group\">\n @if (label) {\n <label [for]=\"id\" [class.active]=\"!!control.value || !!placeholder\">{{ label }}</label>\n }\n <textarea\n [id]=\"id\"\n [rows]=\"rows\"\n [class.form-control]=\"readonly !== 'plaintext'\"\n [class.form-control-plaintext]=\"readonly === 'plaintext'\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n [readonly]=\"isReadonly\"\n (blur)=\"markAsTouched()\"></textarea>\n\n @if (description) {\n <small [id]=\"id + '-description'\" class=\"form-text\">{{ description }}</small>\n }\n @if (isInvalid) {\n <div class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n</div>\n", styles: ["textarea.is-invalid{border-color:#cc334d}\n"] }]
46
- }], propDecorators: { rows: [{
47
- type: Input
48
- }], placeholder: [{
49
- type: Input
50
- }], description: [{
51
- type: Input
52
- }], readonly: [{
53
- type: Input
54
- }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVyRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVVyRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsdUJBQWtEO0lBUjNGOztRQVNFOzs7V0FHRztRQUNNLFNBQUksR0FBWSxDQUFDLENBQUM7UUFFM0I7O1dBRUc7UUFDTSxnQkFBVyxHQUFXLEVBQUUsQ0FBQztLQW9DbkM7SUF0QkM7O09BRUc7SUFDSCxJQUFhLGNBQWM7UUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN6QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsOEJBQThCLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDbkcsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3JHLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxjQUFjLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBYyxVQUFVO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxXQUFXLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDMUQsQ0FBQzs4R0E3Q1UsbUJBQW1CO2tHQUFuQixtQkFBbUIsc01DZGhDLG03QkE0QkEsb0dEaEJZLG1CQUFtQixxa0JBQUUsU0FBUzs7MkZBRTdCLG1CQUFtQjtrQkFSL0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDOzhCQU9oQyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXRBYnN0cmFjdEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9hYnN0cmFjdHMvYWJzdHJhY3QtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LXRleHRhcmVhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dGFyZWEuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBBc3luY1BpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBJdFRleHRhcmVhQ29tcG9uZW50IGV4dGVuZHMgSXRBYnN0cmFjdEZvcm1Db21wb25lbnQ8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4ge1xuICAvKipcbiAgICogVGV4dGFyZWEgUm93c1xuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICBASW5wdXQoKSByb3dzPzogbnVtYmVyID0gMztcblxuICAvKipcbiAgICogVGhlIHRleHRhcmVhIHBsYWNlaG9sZGVyXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnB1dCBkZXNjcmlwdGlvblxuICAgKi9cbiAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVG8gcHJldmVudCBtb2RpZmljYXRpb24gb2YgdGhlIGNvbnRhaW5lZCB2YWx1ZS5cbiAgICogLSA8Yj5wbGFpbnRleHQ8L2I+OiBSZWFkb25seSBmaWVsZCBpbiB0aGUgZm9ybSBzdHlsaXplZCBhcyBwbGFpbiB0ZXh0XG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW4gfCAncGxhaW50ZXh0JyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBpbnZhbGlkIG1lc3NhZ2Ugc3RyaW5nIGZyb20gVHJhbnNsYXRlU2VydmljZVxuICAgKi9cbiAgb3ZlcnJpZGUgZ2V0IGludmFsaWRNZXNzYWdlKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgaWYgKHRoaXMuaGFzRXJyb3IoJ21heGxlbmd0aCcpKSB7XG4gICAgICBjb25zdCBlcnJvciA9IHRoaXMuZ2V0RXJyb3IoJ21heGxlbmd0aCcpO1xuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuZ2V0KCdpdC5lcnJvcnMubWF4LWxlbmd0aC1pbnZhbGlkJywgeyBtYXg6IGVycm9yLnJlcXVpcmVkTGVuZ3RoIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5oYXNFcnJvcigncGF0dGVybicpKSB7XG4gICAgICBjb25zdCBlcnJvciA9IHRoaXMuZ2V0RXJyb3IoJ3BhdHRlcm4nKTtcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmdldCgnaXQuZXJyb3JzLnBhdHRlcm4taW52YWxpZCcsIHsgcGF0dGVybjogZXJyb3IucmVxdWlyZWRQYXR0ZXJuIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5pbnZhbGlkTWVzc2FnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpcyByZWFkb25seSBmaWVsZFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCBpc1JlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJlYWRvbmx5ID09PSAncGxhaW50ZXh0JyB8fCAhIXRoaXMucmVhZG9ubHk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gIEBpZiAobGFiZWwpIHtcbiAgICA8bGFiZWwgW2Zvcl09XCJpZFwiIFtjbGFzcy5hY3RpdmVdPVwiISFjb250cm9sLnZhbHVlIHx8ICEhcGxhY2Vob2xkZXJcIj57eyBsYWJlbCB9fTwvbGFiZWw+XG4gIH1cbiAgPHRleHRhcmVhXG4gICAgW2lkXT1cImlkXCJcbiAgICBbcm93c109XCJyb3dzXCJcbiAgICBbY2xhc3MuZm9ybS1jb250cm9sXT1cInJlYWRvbmx5ICE9PSAncGxhaW50ZXh0J1wiXG4gICAgW2NsYXNzLmZvcm0tY29udHJvbC1wbGFpbnRleHRdPVwicmVhZG9ubHkgPT09ICdwbGFpbnRleHQnXCJcbiAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJpc0ludmFsaWRcIlxuICAgIFtjbGFzcy5pcy12YWxpZF09XCJpc1ZhbGlkXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICBbcmVhZG9ubHldPVwiaXNSZWFkb25seVwiXG4gICAgKGJsdXIpPVwibWFya0FzVG91Y2hlZCgpXCI+PC90ZXh0YXJlYT5cblxuICBAaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgPHNtYWxsIFtpZF09XCJpZCArICctZGVzY3JpcHRpb24nXCIgY2xhc3M9XCJmb3JtLXRleHRcIj57eyBkZXNjcmlwdGlvbiB9fTwvc21hbGw+XG4gIH1cbiAgQGlmIChpc0ludmFsaWQpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1mZWVkYmFjayBqdXN0LXZhbGlkYXRlLWVycm9yLWxhYmVsXCIgW2lkXT1cImlkICsgJy1lcnJvcidcIj5cbiAgICAgIDxkaXYgI2N1c3RvbUVycm9yPjxuZy1jb250ZW50IHNlbGVjdD1cIltlcnJvcl1cIj48L25nLWNvbnRlbnQ+PC9kaXY+XG4gICAgICBAaWYgKCFjdXN0b21FcnJvci5oYXNDaGlsZE5vZGVzKCkpIHtcbiAgICAgICAge3sgaW52YWxpZE1lc3NhZ2UgfCBhc3luYyB9fVxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==