design-angular-kit 1.6.1 → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/README.md +1 -26
  2. package/assets/i18n/en.json +2 -1
  3. package/assets/i18n/it.json +2 -1
  4. package/esm2022/design-angular-kit.mjs +5 -0
  5. package/esm2022/lib/abstracts/abstract-form.component.mjs +199 -0
  6. package/esm2022/lib/abstracts/abstract.component.mjs +46 -0
  7. package/esm2022/lib/components/core/accordion/accordion.component.mjs +39 -0
  8. package/esm2022/lib/components/core/alert/alert.component.mjs +71 -0
  9. package/esm2022/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.mjs +43 -0
  10. package/esm2022/lib/components/core/avatar/avatar-extra-text.directive.mjs +22 -0
  11. package/esm2022/lib/components/core/avatar/avatar-group/avatar-group.component.mjs +84 -0
  12. package/esm2022/lib/components/core/avatar/avatar-presence.directive.mjs +38 -0
  13. package/esm2022/lib/components/core/avatar/avatar-status.directive.mjs +38 -0
  14. package/esm2022/lib/components/core/avatar/avatar-wrapper.directive.mjs +32 -0
  15. package/esm2022/lib/components/core/avatar/avatar.directive.mjs +78 -0
  16. package/esm2022/lib/components/core/avatar/avatar.module.mjs +52 -0
  17. package/esm2022/lib/components/core/badge/badge.directive.mjs +39 -0
  18. package/esm2022/lib/components/core/button/button.directive.mjs +80 -0
  19. package/esm2022/lib/components/core/callout/callout.component.mjs +64 -0
  20. package/esm2022/lib/components/core/card/card.component.mjs +59 -0
  21. package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +86 -0
  22. package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +19 -0
  23. package/esm2022/lib/components/core/carousel/carousel.module.mjs +18 -0
  24. package/esm2022/lib/components/core/chip/chip.component.mjs +136 -0
  25. package/esm2022/lib/components/core/collapse/collapse.component.mjs +116 -0
  26. package/esm2022/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +27 -0
  27. package/esm2022/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +11 -0
  28. package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +55 -0
  29. package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +19 -0
  30. package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +147 -0
  31. package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +70 -0
  32. package/esm2022/lib/components/core/dropdown/dropdown.module.mjs +18 -0
  33. package/esm2022/lib/components/core/forward/forward.directive.mjs +57 -0
  34. package/esm2022/lib/components/core/link/link.component.mjs +42 -0
  35. package/esm2022/lib/components/core/list/list/list.component.mjs +22 -0
  36. package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +67 -0
  37. package/esm2022/lib/components/core/list/list.module.mjs +18 -0
  38. package/esm2022/lib/components/core/modal/modal.component.mjs +194 -0
  39. package/esm2022/lib/components/core/notifications/notifications.component.mjs +111 -0
  40. package/esm2022/lib/components/core/pagination/pagination.component.mjs +130 -0
  41. package/esm2022/lib/components/core/popover/popover.directive.mjs +176 -0
  42. package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +34 -0
  43. package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +25 -0
  44. package/esm2022/lib/components/core/spinner/spinner.component.mjs +30 -0
  45. package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +116 -0
  46. package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +22 -0
  47. package/esm2022/lib/components/core/steppers/steppers.module.mjs +18 -0
  48. package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +97 -0
  49. package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +39 -0
  50. package/esm2022/lib/components/core/tab/tab.module.mjs +18 -0
  51. package/esm2022/lib/components/core/table/sort/sort-header/sort-header.component.mjs +134 -0
  52. package/esm2022/lib/components/core/table/sort/sort.directive.mjs +123 -0
  53. package/esm2022/lib/components/core/table/table.component.mjs +45 -0
  54. package/esm2022/lib/components/core/table/table.module.mjs +19 -0
  55. package/esm2022/lib/components/core/timeline/timeline-item/timeline-item.component.mjs +90 -0
  56. package/esm2022/lib/components/core/timeline/timeline.component.mjs +36 -0
  57. package/esm2022/lib/components/core/timeline/timeline.module.mjs +18 -0
  58. package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +143 -0
  59. package/esm2022/lib/components/core/video-player/video-player-i18n.model.mjs +2 -0
  60. package/esm2022/lib/components/core/video-player/video-player-i18n.service.mjs +130 -0
  61. package/esm2022/lib/components/core/video-player/video-player.component.mjs +301 -0
  62. package/esm2022/lib/components/core/video-player/video-player.config.mjs +43 -0
  63. package/esm2022/lib/components/core/video-player/video-player.cookie.mjs +25 -0
  64. package/esm2022/lib/components/core/video-player/video-player.model.mjs +3 -0
  65. package/esm2022/lib/components/core/video-player/video-player.module.mjs +16 -0
  66. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +178 -0
  67. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +48 -0
  68. package/esm2022/lib/components/form/form.module.mjs +67 -0
  69. package/esm2022/lib/components/form/input/input.component.mjs +190 -0
  70. package/esm2022/lib/components/form/password-input/password-input.component.mjs +149 -0
  71. package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +60 -0
  72. package/esm2022/lib/components/form/range/range.component.mjs +64 -0
  73. package/esm2022/lib/components/form/rating/rating.component.mjs +50 -0
  74. package/esm2022/lib/components/form/search/search.component.mjs +112 -0
  75. package/esm2022/lib/components/form/select/select.component.mjs +70 -0
  76. package/esm2022/lib/components/form/textarea/textarea.component.mjs +55 -0
  77. package/esm2022/lib/components/form/transfer/store/transfer.reducers.mjs +191 -0
  78. package/esm2022/lib/components/form/transfer/store/transfer.state.mjs +2 -0
  79. package/esm2022/lib/components/form/transfer/store/transfer.store.mjs +70 -0
  80. package/esm2022/lib/components/form/transfer/transfer-list/transfer-list.component.mjs +72 -0
  81. package/esm2022/lib/components/form/transfer/transfer.component.mjs +149 -0
  82. package/esm2022/lib/components/form/transfer/transfer.model.mjs +6 -0
  83. package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +142 -0
  84. package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +107 -0
  85. package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +67 -0
  86. package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +68 -0
  87. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +51 -0
  88. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +21 -0
  89. package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +18 -0
  90. package/esm2022/lib/components/navigation/footer/footer.component.mjs +12 -0
  91. package/esm2022/lib/components/navigation/header/header.component.mjs +108 -0
  92. package/esm2022/lib/components/navigation/megamenu/megamenu.component.mjs +27 -0
  93. package/esm2022/lib/components/navigation/navbar/navbar/navbar.component.mjs +51 -0
  94. package/esm2022/lib/components/navigation/navbar/navbar-item/navbar-item.component.mjs +11 -0
  95. package/esm2022/lib/components/navigation/navbar/navbar.module.mjs +18 -0
  96. package/esm2022/lib/components/navigation/navscroll/navscroll-list-item.component.mjs +97 -0
  97. package/esm2022/lib/components/navigation/navscroll/navscroll-list-items.component.mjs +44 -0
  98. package/esm2022/lib/components/navigation/navscroll/navscroll.component.mjs +119 -0
  99. package/esm2022/lib/components/navigation/navscroll/navscroll.model.mjs +2 -0
  100. package/esm2022/lib/components/navigation/navscroll/navscroll.store.mjs +68 -0
  101. package/esm2022/lib/components/navigation/navscroll/navscroll.utils.mjs +23 -0
  102. package/esm2022/lib/components/navigation/sidebar/sidebar.component.mjs +50 -0
  103. package/esm2022/lib/components/navigation/skiplink/skiplink/skiplink.component.mjs +27 -0
  104. package/esm2022/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.mjs +26 -0
  105. package/esm2022/lib/components/navigation/skiplink/skiplink.module.mjs +18 -0
  106. package/esm2022/lib/components/utils/error-page/error-page.component.mjs +74 -0
  107. package/esm2022/lib/components/utils/icon/icon.component.mjs +63 -0
  108. package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +50 -0
  109. package/esm2022/lib/design-angular-kit.module.mjs +242 -0
  110. package/esm2022/lib/enums/colors.enums.mjs +12 -0
  111. package/esm2022/lib/enums/sizes.enum.mjs +9 -0
  112. package/esm2022/lib/interfaces/core.mjs +16 -0
  113. package/esm2022/lib/interfaces/design-angular-kit-config.mjs +7 -0
  114. package/esm2022/lib/interfaces/form.mjs +2 -0
  115. package/esm2022/lib/interfaces/icon.mjs +181 -0
  116. package/esm2022/lib/interfaces/sortable-table.mjs +6 -0
  117. package/esm2022/lib/interfaces/utils.mjs +2 -0
  118. package/esm2022/lib/pipes/date-ago.pipe.mjs +56 -0
  119. package/esm2022/lib/pipes/duration.pipe.mjs +115 -0
  120. package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +48 -0
  121. package/esm2022/lib/provide-design-angular-kit.mjs +64 -0
  122. package/esm2022/lib/services/notification/notification.service.mjs +120 -0
  123. package/esm2022/lib/utils/coercion.mjs +18 -0
  124. package/esm2022/lib/utils/date-utils.mjs +162 -0
  125. package/esm2022/lib/utils/file-utils.mjs +73 -0
  126. package/esm2022/lib/utils/regex.mjs +35 -0
  127. package/esm2022/lib/validators/it-validators.mjs +161 -0
  128. package/esm2022/public_api.mjs +119 -0
  129. package/fesm2022/design-angular-kit.mjs +568 -527
  130. package/fesm2022/design-angular-kit.mjs.map +1 -1
  131. package/index.d.ts +3 -3980
  132. package/lib/abstracts/abstract-form.component.d.ts +89 -0
  133. package/lib/abstracts/abstract.component.d.ts +30 -0
  134. package/lib/components/core/accordion/accordion.component.d.ts +18 -0
  135. package/lib/components/core/alert/alert.component.d.ts +44 -0
  136. package/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.d.ts +29 -0
  137. package/lib/components/core/avatar/avatar-extra-text.directive.d.ts +6 -0
  138. package/lib/components/core/avatar/avatar-group/avatar-group.component.d.ts +20 -0
  139. package/lib/components/core/avatar/avatar-presence.directive.d.ts +17 -0
  140. package/lib/components/core/avatar/avatar-status.directive.d.ts +17 -0
  141. package/lib/components/core/avatar/avatar-wrapper.directive.d.ts +9 -0
  142. package/lib/components/core/avatar/avatar.directive.d.ts +33 -0
  143. package/lib/components/core/avatar/avatar.module.d.ts +13 -0
  144. package/lib/components/core/badge/badge.directive.d.ts +23 -0
  145. package/lib/components/core/button/button.directive.d.ts +48 -0
  146. package/lib/components/core/callout/callout.component.d.ts +50 -0
  147. package/lib/components/core/card/card.component.d.ts +69 -0
  148. package/lib/components/core/carousel/carousel/carousel.component.d.ts +65 -0
  149. package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +15 -0
  150. package/lib/components/core/carousel/carousel.module.d.ts +8 -0
  151. package/lib/components/core/chip/chip.component.d.ts +76 -0
  152. package/lib/components/core/collapse/collapse.component.d.ts +67 -0
  153. package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +12 -0
  154. package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +5 -0
  155. package/lib/components/core/dimmer/dimmer.component.d.ts +24 -0
  156. package/lib/components/core/dimmer/dimmer.module.d.ts +9 -0
  157. package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +94 -0
  158. package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +46 -0
  159. package/lib/components/core/dropdown/dropdown.module.d.ts +8 -0
  160. package/lib/components/core/forward/forward.directive.d.ts +14 -0
  161. package/lib/components/core/link/link.component.d.ts +35 -0
  162. package/lib/components/core/list/list/list.component.d.ts +24 -0
  163. package/lib/components/core/list/list-item/list-item.component.d.ts +44 -0
  164. package/lib/components/core/list/list.module.d.ts +8 -0
  165. package/lib/components/core/modal/modal.component.d.ts +135 -0
  166. package/lib/components/core/notifications/notifications.component.d.ts +45 -0
  167. package/lib/components/core/pagination/pagination.component.d.ts +92 -0
  168. package/lib/components/core/popover/popover.directive.d.ts +99 -0
  169. package/lib/components/core/progress-bar/progress-bar.component.d.ts +31 -0
  170. package/lib/components/core/progress-button/progress-button.component.d.ts +21 -0
  171. package/lib/components/core/spinner/spinner.component.d.ts +24 -0
  172. package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +130 -0
  173. package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +24 -0
  174. package/lib/components/core/steppers/steppers.module.d.ts +8 -0
  175. package/lib/components/core/tab/tab-container/tab-container.component.d.ts +60 -0
  176. package/lib/components/core/tab/tab-item/tab-item.component.d.ts +38 -0
  177. package/lib/components/core/tab/tab.module.d.ts +8 -0
  178. package/lib/components/core/table/sort/sort-header/sort-header.component.d.ts +72 -0
  179. package/lib/components/core/table/sort/sort.directive.d.ts +53 -0
  180. package/lib/components/core/table/table.component.d.ts +60 -0
  181. package/lib/components/core/table/table.module.d.ts +9 -0
  182. package/lib/components/core/timeline/timeline-item/timeline-item.component.d.ts +79 -0
  183. package/lib/components/core/timeline/timeline.component.d.ts +21 -0
  184. package/lib/components/core/timeline/timeline.module.d.ts +8 -0
  185. package/lib/components/core/tooltip/tooltip.directive.d.ts +82 -0
  186. package/lib/components/core/video-player/video-player-i18n.model.d.ts +179 -0
  187. package/lib/components/core/video-player/video-player-i18n.service.d.ts +17 -0
  188. package/lib/components/core/video-player/video-player.component.d.ts +46 -0
  189. package/lib/components/core/video-player/video-player.config.d.ts +68 -0
  190. package/lib/components/core/video-player/video-player.cookie.d.ts +6 -0
  191. package/lib/components/core/video-player/video-player.model.d.ts +44 -0
  192. package/lib/components/core/video-player/video-player.module.d.ts +7 -0
  193. package/lib/components/form/autocomplete/autocomplete.component.d.ts +75 -0
  194. package/lib/components/form/checkbox/checkbox.component.d.ts +41 -0
  195. package/lib/components/form/form.module.d.ts +19 -0
  196. package/lib/components/form/input/input.component.d.ts +95 -0
  197. package/lib/components/form/password-input/password-input.component.d.ts +80 -0
  198. package/lib/components/form/radio-button/radio-button.component.d.ts +38 -0
  199. package/lib/components/form/range/range.component.d.ts +42 -0
  200. package/lib/components/form/rating/rating.component.d.ts +24 -0
  201. package/lib/components/form/search/search.component.d.ts +59 -0
  202. package/lib/components/form/select/select.component.d.ts +36 -0
  203. package/lib/components/form/textarea/textarea.component.d.ts +34 -0
  204. package/lib/components/form/transfer/store/transfer.reducers.d.ts +103 -0
  205. package/lib/components/form/transfer/store/transfer.state.d.ts +18 -0
  206. package/lib/components/form/transfer/store/transfer.store.d.ts +23 -0
  207. package/lib/components/form/transfer/transfer-list/transfer-list.component.d.ts +48 -0
  208. package/lib/components/form/transfer/transfer.component.d.ts +75 -0
  209. package/lib/components/form/transfer/transfer.model.d.ts +6 -0
  210. package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +60 -0
  211. package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +62 -0
  212. package/lib/components/navigation/back-button/back-button.component.d.ts +47 -0
  213. package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +50 -0
  214. package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +28 -0
  215. package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +23 -0
  216. package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts +8 -0
  217. package/lib/components/navigation/footer/footer.component.d.ts +6 -0
  218. package/lib/components/navigation/header/header.component.d.ts +39 -0
  219. package/lib/components/navigation/megamenu/megamenu.component.d.ts +22 -0
  220. package/lib/components/navigation/navbar/navbar/navbar.component.d.ts +19 -0
  221. package/lib/components/navigation/navbar/navbar-item/navbar-item.component.d.ts +5 -0
  222. package/lib/components/navigation/navbar/navbar.module.d.ts +8 -0
  223. package/lib/components/navigation/navscroll/navscroll-list-item.component.d.ts +16 -0
  224. package/lib/components/navigation/navscroll/navscroll-list-items.component.d.ts +7 -0
  225. package/lib/components/navigation/navscroll/navscroll.component.d.ts +47 -0
  226. package/lib/components/navigation/navscroll/navscroll.model.d.ts +15 -0
  227. package/lib/components/navigation/navscroll/navscroll.store.d.ts +16 -0
  228. package/lib/components/navigation/navscroll/navscroll.utils.d.ts +6 -0
  229. package/lib/components/navigation/sidebar/sidebar.component.d.ts +26 -0
  230. package/lib/components/navigation/skiplink/skiplink/skiplink.component.d.ts +17 -0
  231. package/lib/components/navigation/skiplink/skiplink-item/skiplink-item.component.d.ts +24 -0
  232. package/lib/components/navigation/skiplink/skiplink.module.d.ts +8 -0
  233. package/lib/components/utils/error-page/error-page.component.d.ts +44 -0
  234. package/lib/components/utils/icon/icon.component.d.ts +53 -0
  235. package/lib/components/utils/language-switcher/language-switcher.component.d.ts +27 -0
  236. package/lib/design-angular-kit.module.d.ts +55 -0
  237. package/lib/enums/colors.enums.d.ts +10 -0
  238. package/lib/enums/sizes.enum.d.ts +7 -0
  239. package/lib/interfaces/core.d.ts +77 -0
  240. package/lib/interfaces/design-angular-kit-config.d.ts +30 -0
  241. package/lib/interfaces/form.d.ts +67 -0
  242. package/lib/interfaces/icon.d.ts +4 -0
  243. package/lib/interfaces/sortable-table.d.ts +33 -0
  244. package/lib/interfaces/utils.d.ts +10 -0
  245. package/lib/pipes/date-ago.pipe.d.ts +17 -0
  246. package/lib/pipes/duration.pipe.d.ts +35 -0
  247. package/lib/pipes/mark-matching-text.pipe.d.ts +18 -0
  248. package/lib/provide-design-angular-kit.d.ts +7 -0
  249. package/lib/services/notification/notification.service.d.ts +63 -0
  250. package/lib/utils/coercion.d.ts +14 -0
  251. package/lib/utils/date-utils.d.ts +79 -0
  252. package/lib/utils/file-utils.d.ts +32 -0
  253. package/lib/utils/regex.d.ts +34 -0
  254. package/lib/validators/it-validators.d.ts +70 -0
  255. package/package.json +11 -12
  256. package/public_api.d.ts +106 -0
  257. package/schematics/ng-add/index.js +1 -1
  258. package/schematics/ng-add/index.js.map +1 -1
  259. package/schematics/ng-add/rules/setup-project/add-animations.js +2 -1
  260. package/schematics/ng-add/rules/setup-project/add-animations.js.map +1 -1
  261. package/schematics/ng-add/rules/setup-project/add-assets.js +2 -1
  262. package/schematics/ng-add/rules/setup-project/add-assets.js.map +1 -1
  263. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js +2 -1
  264. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js.map +1 -1
  265. package/schematics/ng-add/rules/setup-project/add-http-client.js +2 -1
  266. package/schematics/ng-add/rules/setup-project/add-http-client.js.map +1 -1
  267. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js +2 -1
  268. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js.map +1 -1
  269. package/schematics/ng-add/rules/setup-project/add-localisation.js +2 -1
  270. package/schematics/ng-add/rules/setup-project/add-localisation.js.map +1 -1
  271. package/schematics/ng-add/rules/setup-project/angular-json-helper.js +2 -1
  272. package/schematics/ng-add/rules/setup-project/angular-json-helper.js.map +1 -1
  273. package/schematics/ng-add/setup-project.js +2 -2
  274. package/schematics/ng-add/setup-project.js.map +1 -1
  275. package/schematics/ng-add/setup-project.spec.js +1 -1
  276. package/schematics/ng-add/utils.js +6 -13
  277. package/schematics/ng-add/utils.js.map +1 -1
  278. package/schematics/ng-add/versions-helper.js +19 -11
  279. package/schematics/ng-add/versions-helper.js.map +1 -1
  280. package/schematics/ng-add/utils.spec.d.ts +0 -1
  281. package/schematics/ng-add/utils.spec.js +0 -48
  282. package/schematics/ng-add/utils.spec.js.map +0 -1
  283. package/schematics/ng-add/versions-helper.spec.d.ts +0 -1
  284. package/schematics/ng-add/versions-helper.spec.js +0 -46
  285. package/schematics/ng-add/versions-helper.spec.js.map +0 -1
@@ -0,0 +1,161 @@
1
+ import { Validators } from '@angular/forms';
2
+ import { CAP_REGEX, EMAIL_REGEX, IBAN_REGEX, ITALIAN_TAX_CODE_REGEX, PHONE_NUMBER_REGEX, PLATE_REGEX, URL_REGEX, VAT_NUMBER_REGEX, } from '../utils/regex';
3
+ export class ItValidators {
4
+ static { this.SpecialCharacterPattern = '!@#$%&*_+=;:|,.'; }
5
+ /**
6
+ * Static pattern validator with custom error
7
+ * @param regex
8
+ * @param error
9
+ */
10
+ static customPattern(regex, error) {
11
+ return (control) => {
12
+ if (!control.value) {
13
+ // if control is empty return no error
14
+ return null;
15
+ }
16
+ // test the value of the control against the regexp supplied
17
+ const valid = regex.test(control.value);
18
+ // if true, return no error (no error), else return error passed in the second parameter
19
+ return valid ? null : error;
20
+ };
21
+ }
22
+ /**
23
+ * Set Validator if the condition is satisfied
24
+ * @param validator the validator to apply if the condition is true
25
+ * @param condition the condition
26
+ */
27
+ static conditional(validator, condition) {
28
+ return formControl => {
29
+ if (!formControl.parent) {
30
+ return null;
31
+ }
32
+ if (condition(formControl)) {
33
+ return validator(formControl);
34
+ }
35
+ return null;
36
+ };
37
+ }
38
+ /**
39
+ * Check whether our password and confirm password are a match
40
+ * @param control
41
+ * @param passwordControlName the password formControlName
42
+ * @param confirmControlName the confirmPassword formControlName
43
+ */
44
+ static passwordMatch(control, passwordControlName = 'password', confirmControlName = 'confirmPassword') {
45
+ const confirmControl = control.get(confirmControlName); // confirmPassword form control
46
+ if (!confirmControl) {
47
+ return null;
48
+ }
49
+ const passwordControl = control.get(passwordControlName); // password form control
50
+ const password = passwordControl?.value; // get password from our password form control
51
+ // compare is the password match
52
+ if ((password && !confirmControl.value) || (confirmControl.value && password !== confirmControl.value)) {
53
+ // if they don't match, set an error in our confirmPassword form control
54
+ confirmControl?.setErrors({ noPasswordMatch: true });
55
+ confirmControl?.markAsTouched();
56
+ return control;
57
+ }
58
+ if (password && passwordControl?.touched) {
59
+ confirmControl?.markAsTouched();
60
+ }
61
+ return null;
62
+ }
63
+ /**
64
+ * Password validator
65
+ * @param minLength minimum password length - default 10
66
+ * @param hasNumber check whether the entered password has a number - default true
67
+ * @param hasCapitalCase check whether the entered password has upper case letter - default true
68
+ * @param hasSmallCase check whether the entered password has a lower-case letter - default true
69
+ * @param hasSpecialCharacters check whether the entered password has a special character - default true
70
+ * @param required the field is required - default true
71
+ */
72
+ static password(minLength = 10, hasNumber = true, hasCapitalCase = true, hasSmallCase = true, hasSpecialCharacters = true, required = true) {
73
+ const validators = [Validators.minLength(minLength)];
74
+ if (hasNumber) {
75
+ validators.push(ItValidators.customPattern(/\d/, { hasNumber }));
76
+ }
77
+ if (hasCapitalCase) {
78
+ validators.push(ItValidators.customPattern(/[A-Z]/, { hasCapitalCase }));
79
+ }
80
+ if (hasSmallCase) {
81
+ validators.push(ItValidators.customPattern(/[a-z]/, { hasSmallCase }));
82
+ }
83
+ if (hasSpecialCharacters) {
84
+ validators.push(ItValidators.customPattern(new RegExp(`[${ItValidators.SpecialCharacterPattern}]`), { hasSpecialCharacters }));
85
+ }
86
+ if (required) {
87
+ validators.push(Validators.required);
88
+ }
89
+ return Validators.compose(validators);
90
+ }
91
+ /**
92
+ * Email validator
93
+ */
94
+ static get email() {
95
+ return Validators.compose([Validators.email, ItValidators.customPattern(EMAIL_REGEX, { invalidEmail: true })]);
96
+ }
97
+ /**
98
+ * Phone number validator
99
+ */
100
+ static get tel() {
101
+ return ItValidators.customPattern(PHONE_NUMBER_REGEX, { invalidTel: true });
102
+ }
103
+ static includes(possibleValues) {
104
+ return formControl => {
105
+ return possibleValues?.includes(formControl.value) ? null : { invalidSelection: true };
106
+ };
107
+ }
108
+ /**
109
+ * URL validator
110
+ */
111
+ static get url() {
112
+ return ItValidators.customPattern(URL_REGEX, { invalidUrl: true });
113
+ }
114
+ /**
115
+ * Italian Tax Code validator
116
+ */
117
+ static get taxCode() {
118
+ return ItValidators.customPattern(ITALIAN_TAX_CODE_REGEX, { invalidTaxCode: true });
119
+ }
120
+ /**
121
+ * VAT Number validator
122
+ */
123
+ static get vatNumber() {
124
+ return ItValidators.customPattern(VAT_NUMBER_REGEX, { invalidVatNumber: true });
125
+ }
126
+ /**
127
+ * Italian Postal Code validator (CAP)
128
+ */
129
+ static get cap() {
130
+ return ItValidators.customPattern(CAP_REGEX, { invalidCap: true });
131
+ }
132
+ /**
133
+ * IBAN validator
134
+ */
135
+ static get iban() {
136
+ return ItValidators.customPattern(IBAN_REGEX, { invalidIban: true });
137
+ }
138
+ /**
139
+ * Italian plate validator
140
+ */
141
+ static get plate() {
142
+ return ItValidators.customPattern(PLATE_REGEX, { invalidPlate: true });
143
+ }
144
+ /**
145
+ * Check if value is a valid RegExp
146
+ */
147
+ static get regExp() {
148
+ return (control) => {
149
+ try {
150
+ if (control?.value) {
151
+ new RegExp(control.value);
152
+ }
153
+ }
154
+ catch (e) {
155
+ return { invalidRegex: true };
156
+ }
157
+ return null;
158
+ };
159
+ }
160
+ }
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXQtdmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL3ZhbGlkYXRvcnMvaXQtdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFVBQVUsRUFDVixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsTUFBTSxPQUFPLFlBQVk7YUFDVCw0QkFBdUIsR0FBRyxpQkFBaUIsQ0FBQztJQUUxRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFhLEVBQUUsS0FBdUI7UUFDaEUsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbkIsc0NBQXNDO2dCQUN0QyxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFFRCw0REFBNEQ7WUFDNUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFeEMsd0ZBQXdGO1lBQ3hGLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM5QixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBc0IsRUFBRSxTQUFnRDtRQUNoRyxPQUFPLFdBQVcsQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELElB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LFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sS0FBSyxJQUFJO1FBQ3BCLE9BQU8sWUFBWSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLEtBQUssS0FBSztRQUNyQixPQUFPLFlBQVksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLE1BQU07UUFDdEIsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDM0QsSUFBSSxDQUFDO2dCQUNILElBQUksT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO29CQUNuQixJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2hDLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQ0FQX1JFR0VYLFxuICBFTUFJTF9SRUdFWCxcbiAgSUJBTl9SRUdFWCxcbiAgSVRBTElBTl9UQVhfQ09ERV9SRUdFWCxcbiAgUEhPTkVfTlVNQkVSX1JFR0VYLFxuICBQTEFURV9SRUdFWCxcbiAgVVJMX1JFR0VYLFxuICBWQVRfTlVNQkVSX1JFR0VYLFxufSBmcm9tICcuLi91dGlscy9yZWdleCc7XG5cbmV4cG9ydCBjbGFzcyBJdFZhbGlkYXRvcnMge1xuICBwdWJsaWMgc3RhdGljIFNwZWNpYWxDaGFyYWN0ZXJQYXR0ZXJuID0gJyFAIyQlJipfKz07OnwsLic7XG5cbiAgLyoqXG4gICAqIFN0YXRpYyBwYXR0ZXJuIHZhbGlkYXRvciB3aXRoIGN1c3RvbSBlcnJvclxuICAgKiBAcGFyYW0gcmVnZXhcbiAgICogQHBhcmFtIGVycm9yXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGN1c3RvbVBhdHRlcm4ocmVnZXg6IFJlZ0V4cCwgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgLy8gaWYgY29udHJvbCBpcyBlbXB0eSByZXR1cm4gbm8gZXJyb3JcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIC8vIHRlc3QgdGhlIHZhbHVlIG9mIHRoZSBjb250cm9sIGFnYWluc3QgdGhlIHJlZ2V4cCBzdXBwbGllZFxuICAgICAgY29uc3QgdmFsaWQgPSByZWdleC50ZXN0KGNvbnRyb2wudmFsdWUpO1xuXG4gICAgICAvLyBpZiB0cnVlLCByZXR1cm4gbm8gZXJyb3IgKG5vIGVycm9yKSwgZWxzZSByZXR1cm4gZXJyb3IgcGFzc2VkIGluIHRoZSBzZWNvbmQgcGFyYW1ldGVyXG4gICAgICByZXR1cm4gdmFsaWQgPyBudWxsIDogZXJyb3I7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgVmFsaWRhdG9yIGlmIHRoZSBjb25kaXRpb24gaXMgc2F0aXNmaWVkXG4gICAqIEBwYXJhbSB2YWxpZGF0b3IgdGhlIHZhbGlkYXRvciB0byBhcHBseSBpZiB0aGUgY29uZGl0aW9uIGlzIHRydWVcbiAgICogQHBhcmFtIGNvbmRpdGlvbiB0aGUgY29uZGl0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNvbmRpdGlvbmFsKHZhbGlkYXRvcjogVmFsaWRhdG9yRm4sIGNvbmRpdGlvbjogKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4gYm9vbGVhbik6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gZm9ybUNvbnRyb2wgPT4ge1xuICAgICAgaWYgKCFmb3JtQ29udHJvbC5wYXJlbnQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBpZiAoY29uZGl0aW9uKGZvcm1Db250cm9sKSkge1xuICAgICAgICByZXR1cm4gdmFsaWRhdG9yKGZvcm1Db250cm9sKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgd2hldGhlciBvdXIgcGFzc3dvcmQgYW5kIGNvbmZpcm0gcGFzc3dvcmQgYXJlIGEgbWF0Y2hcbiAgICogQHBhcmFtIGNvbnRyb2xcbiAgICogQHBhcmFtIHBhc3N3b3JkQ29udHJvbE5hbWUgdGhlIHBhc3N3b3JkIGZvcm1Db250cm9sTmFtZVxuICAgKiBAcGFyYW0gY29uZmlybUNvbnRyb2xOYW1lIHRoZSBjb25maXJtUGFzc3dvcmQgZm9ybUNvbnRyb2xOYW1lXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHBhc3N3b3JkTWF0Y2goXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuICAgIHBhc3N3b3JkQ29udHJvbE5hbWUgPSAncGFzc3dvcmQnLFxuICAgIGNvbmZpcm1Db250cm9sTmFtZSA9ICdjb25maXJtUGFzc3dvcmQnXG4gICk6IEFic3RyYWN0Q29udHJvbCB8IG51bGwge1xuICAgIGNvbnN0IGNvbmZpcm1Db250cm9sID0gY29udHJvbC5nZXQoY29uZmlybUNvbnRyb2xOYW1lKTsgLy8gY29uZmlybVBhc3N3b3JkIGZvcm0gY29udHJvbFxuICAgIGlmICghY29uZmlybUNvbnRyb2wpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHBhc3N3b3JkQ29udHJvbCA9IGNvbnRyb2wuZ2V0KHBhc3N3b3JkQ29udHJvbE5hbWUpOyAvLyBwYXNzd29yZCBmb3JtIGNvbnRyb2xcbiAgICBjb25zdCBwYXNzd29yZCA9IHBhc3N3b3JkQ29udHJvbD8udmFsdWU7IC8vIGdldCBwYXNzd29yZCBmcm9tIG91ciBwYXNzd29yZCBmb3JtIGNvbnRyb2xcblxuICAgIC8vIGNvbXBhcmUgaXMgdGhlIHBhc3N3b3JkIG1hdGNoXG4gICAgaWYgKChwYXNzd29yZCAmJiAhY29uZmlybUNvbnRyb2wudmFsdWUpIHx8IChjb25maXJtQ29udHJvbC52YWx1ZSAmJiBwYXNzd29yZCAhPT0gY29uZmlybUNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAvLyBpZiB0aGV5IGRvbid0IG1hdGNoLCBzZXQgYW4gZXJyb3IgaW4gb3VyIGNvbmZpcm1QYXNzd29yZCBmb3JtIGNvbnRyb2xcbiAgICAgIGNvbmZpcm1Db250cm9sPy5zZXRFcnJvcnMoeyBub1Bhc3N3b3JkTWF0Y2g6IHRydWUgfSk7XG4gICAgICBjb25maXJtQ29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICAgICAgcmV0dXJuIGNvbnRyb2w7XG4gICAgfVxuXG4gICAgaWYgKHBhc3N3b3JkICYmIHBhc3N3b3JkQ29udHJvbD8udG91Y2hlZCkge1xuICAgICAgY29uZmlybUNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUGFzc3dvcmQgdmFsaWRhdG9yXG4gICAqIEBwYXJhbSBtaW5MZW5ndGggbWluaW11bSBwYXNzd29yZCBsZW5ndGggLSBkZWZhdWx0IDEwXG4gICAqIEBwYXJhbSBoYXNOdW1iZXIgY2hlY2sgd2hldGhlciB0aGUgZW50ZXJlZCBwYXNzd29yZCBoYXMgYSBudW1iZXIgLSBkZWZhdWx0IHRydWVcbiAgICogQHBhcmFtIGhhc0NhcGl0YWxDYXNlIGNoZWNrIHdoZXRoZXIgdGhlIGVudGVyZWQgcGFzc3dvcmQgaGFzIHVwcGVyIGNhc2UgbGV0dGVyIC0gZGVmYXVsdCB0cnVlXG4gICAqIEBwYXJhbSBoYXNTbWFsbENhc2UgY2hlY2sgd2hldGhlciB0aGUgZW50ZXJlZCBwYXNzd29yZCBoYXMgYSBsb3dlci1jYXNlIGxldHRlciAtIGRlZmF1bHQgdHJ1ZVxuICAgKiBAcGFyYW0gaGFzU3BlY2lhbENoYXJhY3RlcnMgY2hlY2sgd2hldGhlciB0aGUgZW50ZXJlZCBwYXNzd29yZCBoYXMgYSBzcGVjaWFsIGNoYXJhY3RlciAtIGRlZmF1bHQgdHJ1ZVxuICAgKiBAcGFyYW0gcmVxdWlyZWQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkIC0gZGVmYXVsdCB0cnVlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHBhc3N3b3JkKFxuICAgIG1pbkxlbmd0aCA9IDEwLFxuICAgIGhhc051bWJlciA9IHRydWUsXG4gICAgaGFzQ2FwaXRhbENhc2UgPSB0cnVlLFxuICAgIGhhc1NtYWxsQ2FzZSA9IHRydWUsXG4gICAgaGFzU3BlY2lhbENoYXJhY3RlcnMgPSB0cnVlLFxuICAgIHJlcXVpcmVkID0gdHJ1ZVxuICApOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3QgdmFsaWRhdG9yczogQXJyYXk8VmFsaWRhdG9yRm4+ID0gW1ZhbGlkYXRvcnMubWluTGVuZ3RoKG1pbkxlbmd0aCldO1xuICAgIGlmIChoYXNOdW1iZXIpIHtcbiAgICAgIHZhbGlkYXRvcnMucHVzaChJdFZhbGlkYXRvcnMuY3VzdG9tUGF0dGVybigvXFxkLywgeyBoYXNOdW1iZXIgfSkpO1xuICAgIH1cbiAgICBpZiAoaGFzQ2FwaXRhbENhc2UpIHtcbiAgICAgIHZhbGlkYXRvcnMucHVzaChJdFZhbGlkYXRvcnMuY3VzdG9tUGF0dGVybigvW0EtWl0vLCB7IGhhc0NhcGl0YWxDYXNlIH0pKTtcbiAgICB9XG4gICAgaWYgKGhhc1NtYWxsQ2FzZSkge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKEl0VmFsaWRhdG9ycy5jdXN0b21QYXR0ZXJuKC9bYS16XS8sIHsgaGFzU21hbGxDYXNlIH0pKTtcbiAgICB9XG4gICAgaWYgKGhhc1NwZWNpYWxDaGFyYWN0ZXJzKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goSXRWYWxpZGF0b3JzLmN1c3RvbVBhdHRlcm4obmV3IFJlZ0V4cChgWyR7SXRWYWxpZGF0b3JzLlNwZWNpYWxDaGFyYWN0ZXJQYXR0ZXJufV1gKSwgeyBoYXNTcGVjaWFsQ2hhcmFjdGVycyB9KSk7XG4gICAgfVxuICAgIGlmIChyZXF1aXJlZCkge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH1cbiAgICByZXR1cm4gPFZhbGlkYXRvckZuPlZhbGlkYXRvcnMuY29tcG9zZSh2YWxpZGF0b3JzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWFpbCB2YWxpZGF0b3JcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGVtYWlsKCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gPFZhbGlkYXRvckZuPlZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5lbWFpbCwgSXRWYWxpZGF0b3JzLmN1c3RvbVBhdHRlcm4oRU1BSUxfUkVHRVgsIHsgaW52YWxpZEVtYWlsOiB0cnVlIH0pXSk7XG4gIH1cblxuICAvKipcbiAgICogUGhvbmUgbnVtYmVyIHZhbGlkYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQgdGVsKCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gSXRWYWxpZGF0b3JzLmN1c3RvbVBhdHRlcm4oUEhPTkVfTlVNQkVSX1JFR0VYLCB7IGludmFsaWRUZWw6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGluY2x1ZGVzKHBvc3NpYmxlVmFsdWVzOiBzdHJpbmdbXSk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gZm9ybUNvbnRyb2wgPT4ge1xuICAgICAgcmV0dXJuIHBvc3NpYmxlVmFsdWVzPy5pbmNsdWRlcyhmb3JtQ29udHJvbC52YWx1ZSkgPyBudWxsIDogeyBpbnZhbGlkU2VsZWN0aW9uOiB0cnVlIH07XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVUkwgdmFsaWRhdG9yXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCB1cmwoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiBJdFZhbGlkYXRvcnMuY3VzdG9tUGF0dGVybihVUkxfUkVHRVgsIHsgaW52YWxpZFVybDogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdGFsaWFuIFRheCBDb2RlIHZhbGlkYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQgdGF4Q29kZSgpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIEl0VmFsaWRhdG9ycy5jdXN0b21QYXR0ZXJuKElUQUxJQU5fVEFYX0NPREVfUkVHRVgsIHsgaW52YWxpZFRheENvZGU6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogVkFUIE51bWJlciB2YWxpZGF0b3JcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IHZhdE51bWJlcigpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIEl0VmFsaWRhdG9ycy5jdXN0b21QYXR0ZXJuKFZBVF9OVU1CRVJfUkVHRVgsIHsgaW52YWxpZFZhdE51bWJlcjogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdGFsaWFuIFBvc3RhbCBDb2RlIHZhbGlkYXRvciAoQ0FQKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQgY2FwKCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gSXRWYWxpZGF0b3JzLmN1c3RvbVBhdHRlcm4oQ0FQX1JFR0VYLCB7IGludmFsaWRDYXA6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogSUJBTiB2YWxpZGF0b3JcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGliYW4oKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiBJdFZhbGlkYXRvcnMuY3VzdG9tUGF0dGVybihJQkFOX1JFR0VYLCB7IGludmFsaWRJYmFuOiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0YWxpYW4gcGxhdGUgdmFsaWRhdG9yXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCBwbGF0ZSgpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIEl0VmFsaWRhdG9ycy5jdXN0b21QYXR0ZXJuKFBMQVRFX1JFR0VYLCB7IGludmFsaWRQbGF0ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB2YWx1ZSBpcyBhIHZhbGlkIFJlZ0V4cFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQgcmVnRXhwKCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChjb250cm9sPy52YWx1ZSkge1xuICAgICAgICAgIG5ldyBSZWdFeHAoY29udHJvbC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIHsgaW52YWxpZFJlZ2V4OiB0cnVlIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,119 @@
1
+ /*
2
+ * Public API Surface of design-angular-kit
3
+ */
4
+ export * from './lib/design-angular-kit.module';
5
+ export * from './lib/provide-design-angular-kit';
6
+ // Core components
7
+ export * from './lib/components/core/accordion/accordion.component';
8
+ export * from './lib/components/core/alert/alert.component';
9
+ export * from './lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component';
10
+ export * from './lib/components/core/avatar/avatar-extra-text.directive';
11
+ export * from './lib/components/core/avatar/avatar-group/avatar-group.component';
12
+ export * from './lib/components/core/avatar/avatar-presence.directive';
13
+ export * from './lib/components/core/avatar/avatar-status.directive';
14
+ export * from './lib/components/core/avatar/avatar-wrapper.directive';
15
+ export * from './lib/components/core/avatar/avatar.directive';
16
+ export * from './lib/components/core/avatar/avatar.module';
17
+ export * from './lib/components/core/badge/badge.directive';
18
+ export * from './lib/components/core/button/button.directive';
19
+ export * from './lib/components/core/callout/callout.component';
20
+ export * from './lib/components/core/card/card.component';
21
+ export * from './lib/components/core/carousel/carousel-item/carousel-item.component';
22
+ export * from './lib/components/core/carousel/carousel.module';
23
+ export * from './lib/components/core/carousel/carousel/carousel.component';
24
+ export * from './lib/components/core/chip/chip.component';
25
+ export * from './lib/components/core/collapse/collapse.component';
26
+ export * from './lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component';
27
+ export * from './lib/components/core/dimmer/dimmer-icon/dimmer-icon.component';
28
+ export * from './lib/components/core/dimmer/dimmer.component';
29
+ export * from './lib/components/core/dimmer/dimmer.module';
30
+ export * from './lib/components/core/dropdown/dropdown-item/dropdown-item.component';
31
+ export * from './lib/components/core/dropdown/dropdown.module';
32
+ export * from './lib/components/core/dropdown/dropdown/dropdown.component';
33
+ export * from './lib/components/core/forward/forward.directive';
34
+ export * from './lib/components/core/link/link.component';
35
+ export * from './lib/components/core/list/list-item/list-item.component';
36
+ export * from './lib/components/core/list/list.module';
37
+ export * from './lib/components/core/list/list/list.component';
38
+ export * from './lib/components/core/modal/modal.component';
39
+ export * from './lib/components/core/notifications/notifications.component';
40
+ export * from './lib/components/core/pagination/pagination.component';
41
+ export * from './lib/components/core/popover/popover.directive';
42
+ export * from './lib/components/core/progress-bar/progress-bar.component';
43
+ export * from './lib/components/core/progress-button/progress-button.component';
44
+ export * from './lib/components/core/spinner/spinner.component';
45
+ export * from './lib/components/core/steppers/steppers-container/steppers-container.component';
46
+ export * from './lib/components/core/steppers/steppers-item/steppers-item.component';
47
+ export * from './lib/components/core/steppers/steppers.module';
48
+ export * from './lib/components/core/tab/tab-container/tab-container.component';
49
+ export * from './lib/components/core/tab/tab-item/tab-item.component';
50
+ export * from './lib/components/core/tab/tab.module';
51
+ export * from './lib/components/core/table/sort/sort-header/sort-header.component';
52
+ export * from './lib/components/core/table/sort/sort.directive';
53
+ export * from './lib/components/core/table/table.component';
54
+ export * from './lib/components/core/table/table.module';
55
+ export * from './lib/components/core/timeline/timeline-item/timeline-item.component';
56
+ export * from './lib/components/core/timeline/timeline.component';
57
+ export * from './lib/components/core/timeline/timeline.module';
58
+ export * from './lib/components/core/video-player/video-player.component';
59
+ export * from './lib/components/core/video-player/video-player.model';
60
+ export * from './lib/components/core/video-player/video-player.module';
61
+ export * from './lib/components/core/tooltip/tooltip.directive';
62
+ // Forms components
63
+ export * from './lib/components/form/autocomplete/autocomplete.component';
64
+ export * from './lib/components/form/checkbox/checkbox.component';
65
+ export * from './lib/components/form/form.module';
66
+ export * from './lib/components/form/input/input.component';
67
+ export * from './lib/components/form/password-input/password-input.component';
68
+ export * from './lib/components/form/radio-button/radio-button.component';
69
+ export * from './lib/components/form/range/range.component';
70
+ export * from './lib/components/form/rating/rating.component';
71
+ export * from './lib/components/form/search/search.component';
72
+ export * from './lib/components/form/select/select.component';
73
+ export * from './lib/components/form/textarea/textarea.component';
74
+ export * from './lib/components/form/transfer/transfer.component';
75
+ export * from './lib/components/form/transfer/transfer.model';
76
+ export * from './lib/components/form/upload-drag-drop/upload-drag-drop.component';
77
+ export * from './lib/components/form/upload-file-list/upload-file-list.component';
78
+ // Navigation components
79
+ export * from './lib/components/navigation/back-button/back-button.component';
80
+ export * from './lib/components/navigation/back-to-top/back-to-top.component';
81
+ export * from './lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component';
82
+ export * from './lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component';
83
+ export * from './lib/components/navigation/breadcrumbs/breadcrumbs.module';
84
+ export * from './lib/components/navigation/header/header.component';
85
+ export * from './lib/components/navigation/footer/footer.component';
86
+ export * from './lib/components/navigation/megamenu/megamenu.component';
87
+ export * from './lib/components/navigation/navbar/navbar-item/navbar-item.component';
88
+ export * from './lib/components/navigation/navbar/navbar.module';
89
+ export * from './lib/components/navigation/navbar/navbar/navbar.component';
90
+ export * from './lib/components/navigation/navscroll/navscroll.component';
91
+ export * from './lib/components/navigation/navscroll/navscroll.model';
92
+ export * from './lib/components/navigation/sidebar/sidebar.component';
93
+ export * from './lib/components/navigation/skiplink/skiplink-item/skiplink-item.component';
94
+ export * from './lib/components/navigation/skiplink/skiplink.module';
95
+ export * from './lib/components/navigation/skiplink/skiplink/skiplink.component';
96
+ // Utils components
97
+ export * from './lib/components/utils/error-page/error-page.component';
98
+ export * from './lib/components/utils/icon/icon.component';
99
+ export * from './lib/components/utils/language-switcher/language-switcher.component';
100
+ // Services
101
+ export * from './lib/services/notification/notification.service';
102
+ // Pipes
103
+ export * from './lib/pipes/date-ago.pipe';
104
+ export * from './lib/pipes/duration.pipe';
105
+ export * from './lib/pipes/mark-matching-text.pipe';
106
+ // Interfaces
107
+ export * from './lib/interfaces/design-angular-kit-config';
108
+ export * from './lib/interfaces/sortable-table';
109
+ export * from './lib/interfaces/core';
110
+ export * from './lib/interfaces/form';
111
+ export * from './lib/interfaces/icon';
112
+ export * from './lib/interfaces/utils';
113
+ // Utils
114
+ export * from './lib/utils/date-utils';
115
+ export * from './lib/utils/file-utils';
116
+ export * from './lib/utils/regex';
117
+ // Validators
118
+ export * from './lib/validators/it-validators';
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxrQkFBa0I7QUFDbEIsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUUzRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDREQUE0RCxDQUFDO0FBRTNFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxtREFBbUQsQ0FBQztBQUVsRSxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDRDQUE0QyxDQUFDO0FBRTNELGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDREQUE0RCxDQUFDO0FBRTNFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsd0NBQXdDLENB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Y2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGRlc2lnbi1hbmd1bGFyLWtpdFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rlc2lnbi1hbmd1bGFyLWtpdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZS1kZXNpZ24tYW5ndWxhci1raXQnO1xuXG4vLyBDb3JlIGNvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvYWxlcnQvYWxlcnQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2F2YXRhci9hdmF0YXItZHJvcGRvd24vYXZhdGFyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvYXZhdGFyL2F2YXRhci1leHRyYS10ZXh0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvYXZhdGFyL2F2YXRhci1ncm91cC9hdmF0YXItZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9hdmF0YXIvYXZhdGFyLXByZXNlbmNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvYXZhdGFyL2F2YXRhci1zdGF0dXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9hdmF0YXIvYXZhdGFyLXdyYXBwZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9hdmF0YXIvYXZhdGFyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvYXZhdGFyL2F2YXRhci5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvYmFkZ2UvYmFkZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvY2FsbG91dC9jYWxsb3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9jYXJvdXNlbC9jYXJvdXNlbC1pdGVtL2Nhcm91c2VsLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9jYXJvdXNlbC9jYXJvdXNlbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2Nhcm91c2VsL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9jaGlwL2NoaXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9jb2xsYXBzZS9jb2xsYXBzZS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvZGltbWVyL2RpbW1lci1idXR0b25zL2RpbW1lci1idXR0b25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvZGltbWVyL2RpbW1lci1pY29uL2RpbW1lci1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvZGltbWVyL2RpbW1lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2RpbW1lci9kaW1tZXIubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2Ryb3Bkb3duL2Ryb3Bkb3duLWl0ZW0vZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvZHJvcGRvd24vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2ZvcndhcmQvZm9yd2FyZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2xpbmsvbGluay5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvbGlzdC9saXN0LWl0ZW0vbGlzdC1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvbGlzdC9saXN0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvbGlzdC9saXN0L2xpc3QuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3Byb2dyZXNzLWJ1dHRvbi9wcm9ncmVzcy1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3N0ZXBwZXJzL3N0ZXBwZXJzLWNvbnRhaW5lci9zdGVwcGVycy1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9zdGVwcGVycy9zdGVwcGVycy1pdGVtL3N0ZXBwZXJzLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9zdGVwcGVycy9zdGVwcGVycy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvdGFiL3RhYi1jb250YWluZXIvdGFiLWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3RhYi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3RhYi90YWIubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3RhYmxlL3NvcnQvc29ydC1oZWFkZXIvc29ydC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS90YWJsZS9zb3J0L3NvcnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3RhYmxlL3RhYmxlLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS90aW1lbGluZS90aW1lbGluZS1pdGVtL3RpbWVsaW5lLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS90aW1lbGluZS90aW1lbGluZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3RpbWVsaW5lL3RpbWVsaW5lLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS92aWRlby1wbGF5ZXIvdmlkZW8tcGxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvdmlkZW8tcGxheWVyL3ZpZGVvLXBsYXllci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvdmlkZW8tcGxheWVyL3ZpZGVvLXBsYXllci5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5cbi8vIEZvcm1zIGNvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQvaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9yYW5nZS9yYW5nZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL3JhdGluZy9yYXRpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vdHJhbnNmZXIvdHJhbnNmZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS90cmFuc2Zlci90cmFuc2Zlci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vdXBsb2FkLWRyYWctZHJvcC91cGxvYWQtZHJhZy1kcm9wLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vdXBsb2FkLWZpbGUtbGlzdC91cGxvYWQtZmlsZS1saXN0LmNvbXBvbmVudCc7XG5cbi8vIE5hdmlnYXRpb24gY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL2JhY2stYnV0dG9uL2JhY2stYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vYmFjay10by10b3AvYmFjay10by10b3AuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWItaXRlbS9icmVhZGNydW1iLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9icmVhZGNydW1icy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9icmVhZGNydW1icy9icmVhZGNydW1icy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9tZWdhbWVudS9tZWdhbWVudS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2YmFyL25hdmJhci1pdGVtL25hdmJhci1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2YmFyL25hdmJhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmJhci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZzY3JvbGwvbmF2c2Nyb2xsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2c2Nyb2xsL25hdnNjcm9sbC5tb2RlbCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL3NraXBsaW5rL3NraXBsaW5rLWl0ZW0vc2tpcGxpbmstaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL3NraXBsaW5rL3NraXBsaW5rLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vc2tpcGxpbmsvc2tpcGxpbmsvc2tpcGxpbmsuY29tcG9uZW50JztcblxuLy8gVXRpbHMgY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy91dGlscy9lcnJvci1wYWdlL2Vycm9yLXBhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdXRpbHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3V0aWxzL2xhbmd1YWdlLXN3aXRjaGVyL2xhbmd1YWdlLXN3aXRjaGVyLmNvbXBvbmVudCc7XG5cbi8vIFNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuXG4vLyBQaXBlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvZGF0ZS1hZ28ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9kdXJhdGlvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL21hcmstbWF0Y2hpbmctdGV4dC5waXBlJztcblxuLy8gSW50ZXJmYWNlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9kZXNpZ24tYW5ndWxhci1raXQtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvc29ydGFibGUtdGFibGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2NvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvaWNvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3V0aWxzJztcblxuLy8gVXRpbHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2RhdGUtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvZmlsZS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscy9yZWdleCc7XG5cbi8vIFZhbGlkYXRvcnNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRvcnMvaXQtdmFsaWRhdG9ycyc7XG4iXX0=