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,162 +0,0 @@
1
- import { shareReplay, takeWhile, timer } from 'rxjs';
2
- import { map } from 'rxjs/operators';
3
- export class ItDateUtils {
4
- /**
5
- * Add seconds to date
6
- * @param date the date
7
- * @param seconds seconds to add
8
- */
9
- static addSeconds(date, seconds) {
10
- const newDate = new Date(date.valueOf());
11
- newDate.setSeconds(date.getSeconds() + seconds);
12
- return newDate;
13
- }
14
- /**
15
- * Add minutes to date
16
- * @param date the date
17
- * @param minutes minutes to add
18
- */
19
- static addMinutes(date, minutes) {
20
- const newDate = new Date(date.valueOf());
21
- newDate.setMinutes(date.getMinutes() + minutes);
22
- return newDate;
23
- }
24
- /**
25
- * Add hours to date
26
- * @param date the date
27
- * @param hours hours to add
28
- */
29
- static addHours(date, hours) {
30
- const newDate = new Date(date.valueOf());
31
- newDate.setHours(date.getHours() + hours);
32
- return newDate;
33
- }
34
- /**
35
- * Add days to date
36
- * @param date the date
37
- * @param days days to add
38
- */
39
- static addDays(date, days) {
40
- const newDate = new Date(date.valueOf());
41
- newDate.setDate(date.getDate() + days);
42
- return newDate;
43
- }
44
- /**
45
- * Add years to date
46
- * @param date the date
47
- * @param months months to add
48
- */
49
- static addMonths(date, months) {
50
- const newDate = new Date(date.valueOf());
51
- newDate.setMonth(date.getMonth() + months);
52
- return newDate;
53
- }
54
- /**
55
- * Add years to date
56
- * @param date the date
57
- * @param years years to add
58
- */
59
- static addYears(date, years) {
60
- const newDate = new Date(date.valueOf());
61
- newDate.setFullYear(date.getFullYear() + years);
62
- return newDate;
63
- }
64
- /**
65
- * Calculate number of days between two date
66
- * @param startDate
67
- * @param endDate
68
- * @param absolute return unsigned result
69
- */
70
- static countDays(startDate, endDate, absolute = false) {
71
- const differenceInTime = endDate.getTime() - startDate.getTime();
72
- const diff = absolute ? Math.abs(differenceInTime) : differenceInTime;
73
- return Math.ceil(diff / (1000 * 3600 * 24));
74
- }
75
- /**
76
- * Check if string is a date with iso format
77
- * @param value the string
78
- */
79
- static isIsoString(value) {
80
- if (!value || !/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/.test(value)) {
81
- return false;
82
- }
83
- const d = new Date(value);
84
- return !!d && !isNaN(d.getTime()) && d.toISOString() === value;
85
- }
86
- /**
87
- * Convert iso string to Date
88
- * @param isoString the iso string
89
- */
90
- static isoStringToDate(isoString) {
91
- return isoString ? new Date(Date.parse(isoString)) : null;
92
- }
93
- /**
94
- * Remove time from an iso date string
95
- * @param isoString the iso string
96
- */
97
- static isoStringRemoveTime(isoString) {
98
- let date = ItDateUtils.isoStringToDate(isoString);
99
- if (!date) {
100
- return isoString;
101
- }
102
- const offset = date.getTimezoneOffset();
103
- date = new Date(date.getTime() - offset * 60 * 1000);
104
- return date.toISOString().substring(0, isoString.indexOf('T'));
105
- }
106
- /**
107
- * Set iso string hours to 0 and format correctly the date (consider timezone offset)
108
- * @example '2024-03-04T23:00:00.000Z' -> '2024-03-05T00:00:00.000Z'
109
- * @param isoString the iso string
110
- */
111
- static isoStringSetZeroTime(isoString) {
112
- let date = ItDateUtils.isoStringToDate(isoString);
113
- if (!date) {
114
- return isoString;
115
- }
116
- const offset = date.getTimezoneOffset();
117
- date = new Date(date.getTime() - offset * 60 * 1000);
118
- date.setUTCHours(0, 0, 0, 0);
119
- return date.toISOString();
120
- }
121
- /**
122
- * Calculate the date time left and return the string format [d h m s]
123
- * @param endDate
124
- */
125
- static timeLeftString(endDate) {
126
- const endTime = endDate.getTime();
127
- return timer(0, 1000).pipe(map(() => Math.floor((endTime - new Date().getTime()) / 1000)), takeWhile(delta => delta >= 0), map(delta => {
128
- const arrayResult = [];
129
- const days = Math.floor(delta / 60 / 60 / 24);
130
- if (days > 0) {
131
- arrayResult.push(days + 'd');
132
- }
133
- delta -= days * 60 * 60 * 24;
134
- const hours = Math.floor(delta / 60 / 60) % 24;
135
- if (hours > 0) {
136
- arrayResult.push(hours + 'h');
137
- }
138
- delta -= hours * 60 * 60;
139
- const minutes = Math.floor(delta / 60) % 60;
140
- arrayResult.push(minutes + 'm');
141
- delta -= minutes * 60;
142
- const seconds = delta % 60;
143
- arrayResult.push(seconds + 's');
144
- return arrayResult.join(' ');
145
- }), shareReplay(1));
146
- }
147
- /**
148
- * Calculate the next day of week
149
- * @param dayOfWeek Day of week 0=Sunday, 1=Monday...4=Thursday...
150
- * @param hour the specif hour
151
- * @param minute the specific minute
152
- */
153
- static nextWeekDayAndTime(dayOfWeek, hour = 0, minute = 0) {
154
- const now = new Date();
155
- const result = new Date(now.getFullYear(), now.getMonth(), now.getDate() + ((7 + dayOfWeek - now.getDay()) % 7), hour, minute, 0, 0);
156
- if (result < now) {
157
- result.setDate(result.getDate() + 7);
158
- }
159
- return result;
160
- }
161
- }
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL3V0aWxzL2RhdGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxNQUFNLE9BQU8sV0FBVztJQUN0Qjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFVLEVBQUUsT0FBZTtRQUNsRCxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUNoRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBVSxFQUFFLE9BQWU7UUFDbEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDekMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDaEQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQVUsRUFBRSxLQUFhO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQyxD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QUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQztRQUN0RSxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXJJLElBQUksTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgdGFrZVdoaWxlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgSXREYXRlVXRpbHMge1xuICAvKipcbiAgICogQWRkIHNlY29uZHMgdG8gZGF0ZVxuICAgKiBAcGFyYW0gZGF0ZSB0aGUgZGF0ZVxuICAgKiBAcGFyYW0gc2Vjb25kcyBzZWNvbmRzIHRvIGFkZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhZGRTZWNvbmRzKGRhdGU6IERhdGUsIHNlY29uZHM6IG51bWJlcik6IERhdGUge1xuICAgIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZShkYXRlLnZhbHVlT2YoKSk7XG4gICAgbmV3RGF0ZS5zZXRTZWNvbmRzKGRhdGUuZ2V0U2Vjb25kcygpICsgc2Vjb25kcyk7XG4gICAgcmV0dXJuIG5ld0RhdGU7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG1pbnV0ZXMgdG8gZGF0ZVxuICAgKiBAcGFyYW0gZGF0ZSB0aGUgZGF0ZVxuICAgKiBAcGFyYW0gbWludXRlcyBtaW51dGVzIHRvIGFkZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhZGRNaW51dGVzKGRhdGU6IERhdGUsIG1pbnV0ZXM6IG51bWJlcik6IERhdGUge1xuICAgIGNvbnN0IG5ld0RhdGUgPSBuZXcgRGF0ZShkYXRlLnZhbHVlT2YoKSk7XG4gICAgbmV3RGF0ZS5zZXRNaW51dGVzKGRhdGUuZ2V0TWludXRlcygpICsgbWludXRlcyk7XG4gICAgcmV0dXJuIG5ld0RhdGU7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGhvdXJzIHRvIGRhdGVcbiAgICogQHBhcmFtIGRhdGUgdGhlIGRhdGVcbiAgICogQHBhcmFtIGhvdXJzIGhvdXJzIHRvIGFkZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhZGRIb3VycyhkYXRlOiBEYXRlLCBob3VyczogbnVtYmVyKTogRGF0ZSB7XG4gICAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKGRhdGUudmFsdWVPZigpKTtcbiAgICBuZXdEYXRlLnNldEhvdXJzKGRhdGUuZ2V0SG91cnMoKSArIGhvdXJzKTtcbiAgICByZXR1cm4gbmV3RGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgZGF5cyB0byBkYXRlXG4gICAqIEBwYXJhbSBkYXRlIHRoZSBkYXRlXG4gICAqIEBwYXJhbSBkYXlzIGRheXMgdG8gYWRkXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFkZERheXMoZGF0ZTogRGF0ZSwgZGF5czogbnVtYmVyKTogRGF0ZSB7XG4gICAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKGRhdGUudmFsdWVPZigpKTtcbiAgICBuZXdEYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyBkYXlzKTtcbiAgICByZXR1cm4gbmV3RGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgeWVhcnMgdG8gZGF0ZVxuICAgKiBAcGFyYW0gZGF0ZSB0aGUgZGF0ZVxuICAgKiBAcGFyYW0gbW9udGhzIG1vbnRocyB0byBhZGRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYWRkTW9udGhzKGRhdGU6IERhdGUsIG1vbnRoczogbnVtYmVyKTogRGF0ZSB7XG4gICAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKGRhdGUudmFsdWVPZigpKTtcbiAgICBuZXdEYXRlLnNldE1vbnRoKGRhdGUuZ2V0TW9udGgoKSArIG1vbnRocyk7XG4gICAgcmV0dXJuIG5ld0RhdGU7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHllYXJzIHRvIGRhdGVcbiAgICogQHBhcmFtIGRhdGUgdGhlIGRhdGVcbiAgICogQHBhcmFtIHllYXJzIHllYXJzIHRvIGFkZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhZGRZZWFycyhkYXRlOiBEYXRlLCB5ZWFyczogbnVtYmVyKTogRGF0ZSB7XG4gICAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKGRhdGUudmFsdWVPZigpKTtcbiAgICBuZXdEYXRlLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSArIHllYXJzKTtcbiAgICByZXR1cm4gbmV3RGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgbnVtYmVyIG9mIGRheXMgYmV0d2VlbiB0d28gZGF0ZVxuICAgKiBAcGFyYW0gc3RhcnREYXRlXG4gICAqIEBwYXJhbSBlbmREYXRlXG4gICAqIEBwYXJhbSBhYnNvbHV0ZSByZXR1cm4gdW5zaWduZWQgcmVzdWx0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNvdW50RGF5cyhzdGFydERhdGU6IERhdGUsIGVuZERhdGU6IERhdGUsIGFic29sdXRlOiBib29sZWFuID0gZmFsc2UpOiBudW1iZXIge1xuICAgIGNvbnN0IGRpZmZlcmVuY2VJblRpbWUgPSBlbmREYXRlLmdldFRpbWUoKSAtIHN0YXJ0RGF0ZS5nZXRUaW1lKCk7XG4gICAgY29uc3QgZGlmZiA9IGFic29sdXRlID8gTWF0aC5hYnMoZGlmZmVyZW5jZUluVGltZSkgOiBkaWZmZXJlbmNlSW5UaW1lO1xuICAgIHJldHVybiBNYXRoLmNlaWwoZGlmZiAvICgxMDAwICogMzYwMCAqIDI0KSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgc3RyaW5nIGlzIGEgZGF0ZSB3aXRoIGlzbyBmb3JtYXRcbiAgICogQHBhcmFtIHZhbHVlIHRoZSBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNJc29TdHJpbmcodmFsdWU6IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgICBpZiAoIXZhbHVlIHx8ICEvXFxkezR9LVxcZHsyfS1cXGR7Mn1UXFxkezJ9OlxcZHsyfTpcXGR7Mn0uXFxkezN9Wi8udGVzdCh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICByZXR1cm4gISFkICYmICFpc05hTihkLmdldFRpbWUoKSkgJiYgZC50b0lTT1N0cmluZygpID09PSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGlzbyBzdHJpbmcgdG8gRGF0ZVxuICAgKiBAcGFyYW0gaXNvU3RyaW5nIHRoZSBpc28gc3RyaW5nXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzb1N0cmluZ1RvRGF0ZShpc29TdHJpbmc6IHN0cmluZyB8IG51bGwpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIGlzb1N0cmluZyA/IG5ldyBEYXRlKERhdGUucGFyc2UoaXNvU3RyaW5nKSkgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aW1lIGZyb20gYW4gaXNvIGRhdGUgc3RyaW5nXG4gICAqIEBwYXJhbSBpc29TdHJpbmcgdGhlIGlzbyBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNvU3RyaW5nUmVtb3ZlVGltZShpc29TdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IGRhdGUgPSBJdERhdGVVdGlscy5pc29TdHJpbmdUb0RhdGUoaXNvU3RyaW5nKTtcbiAgICBpZiAoIWRhdGUpIHtcbiAgICAgIHJldHVybiBpc29TdHJpbmc7XG4gICAgfVxuICAgIGNvbnN0IG9mZnNldCA9IGRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKTtcbiAgICBkYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgLSBvZmZzZXQgKiA2MCAqIDEwMDApO1xuICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCkuc3Vic3RyaW5nKDAsIGlzb1N0cmluZy5pbmRleE9mKCdUJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBpc28gc3RyaW5nIGhvdXJzIHRvIDAgYW5kIGZvcm1hdCBjb3JyZWN0bHkgdGhlIGRhdGUgKGNvbnNpZGVyIHRpbWV6b25lIG9mZnNldClcbiAgICogQGV4YW1wbGUgJzIwMjQtMDMtMDRUMjM6MDA6MDAuMDAwWicgLT4gJzIwMjQtMDMtMDVUMDA6MDA6MDAuMDAwWidcbiAgICogQHBhcmFtIGlzb1N0cmluZyB0aGUgaXNvIHN0cmluZ1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc29TdHJpbmdTZXRaZXJvVGltZShpc29TdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IGRhdGUgPSBJdERhdGVVdGlscy5pc29TdHJpbmdUb0RhdGUoaXNvU3RyaW5nKTtcbiAgICBpZiAoIWRhdGUpIHtcbiAgICAgIHJldHVybiBpc29TdHJpbmc7XG4gICAgfVxuICAgIGNvbnN0IG9mZnNldCA9IGRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKTtcbiAgICBkYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkgLSBvZmZzZXQgKiA2MCAqIDEwMDApO1xuICAgIGRhdGUuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG4gICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgdGhlIGRhdGUgdGltZSBsZWZ0IGFuZCByZXR1cm4gdGhlIHN0cmluZyBmb3JtYXQgW2QgaCBtIHNdXG4gICAqIEBwYXJhbSBlbmREYXRlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRpbWVMZWZ0U3RyaW5nKGVuZERhdGU6IERhdGUpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGNvbnN0IGVuZFRpbWUgPSBlbmREYXRlLmdldFRpbWUoKTtcbiAgICByZXR1cm4gdGltZXIoMCwgMTAwMCkucGlwZShcbiAgICAgIG1hcCgoKSA9PiBNYXRoLmZsb29yKChlbmRUaW1lIC0gbmV3IERhdGUoKS5nZXRUaW1lKCkpIC8gMTAwMCkpLFxuICAgICAgdGFrZVdoaWxlKGRlbHRhID0+IGRlbHRhID49IDApLFxuICAgICAgbWFwKGRlbHRhID0+IHtcbiAgICAgICAgY29uc3QgYXJyYXlSZXN1bHQ6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICAgICAgY29uc3QgZGF5cyA9IE1hdGguZmxvb3IoZGVsdGEgLyA2MCAvIDYwIC8gMjQpO1xuICAgICAgICBpZiAoZGF5cyA+IDApIHtcbiAgICAgICAgICBhcnJheVJlc3VsdC5wdXNoKGRheXMgKyAnZCcpO1xuICAgICAgICB9XG4gICAgICAgIGRlbHRhIC09IGRheXMgKiA2MCAqIDYwICogMjQ7XG4gICAgICAgIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihkZWx0YSAvIDYwIC8gNjApICUgMjQ7XG4gICAgICAgIGlmIChob3VycyA+IDApIHtcbiAgICAgICAgICBhcnJheVJlc3VsdC5wdXNoKGhvdXJzICsgJ2gnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRlbHRhIC09IGhvdXJzICogNjAgKiA2MDtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoZGVsdGEgLyA2MCkgJSA2MDtcbiAgICAgICAgYXJyYXlSZXN1bHQucHVzaChtaW51dGVzICsgJ20nKTtcblxuICAgICAgICBkZWx0YSAtPSBtaW51dGVzICogNjA7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPSBkZWx0YSAlIDYwO1xuICAgICAgICBhcnJheVJlc3VsdC5wdXNoKHNlY29uZHMgKyAncycpO1xuXG4gICAgICAgIHJldHVybiBhcnJheVJlc3VsdC5qb2luKCcgJyk7XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgdGhlIG5leHQgZGF5IG9mIHdlZWtcbiAgICogQHBhcmFtIGRheU9mV2VlayBEYXkgb2Ygd2VlayAwPVN1bmRheSwgMT1Nb25kYXkuLi40PVRodXJzZGF5Li4uXG4gICAqIEBwYXJhbSBob3VyIHRoZSBzcGVjaWYgaG91clxuICAgKiBAcGFyYW0gbWludXRlIHRoZSBzcGVjaWZpYyBtaW51dGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbmV4dFdlZWtEYXlBbmRUaW1lKGRheU9mV2VlazogbnVtYmVyLCBob3VyID0gMCwgbWludXRlID0gMCk6IERhdGUge1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUobm93LmdldEZ1bGxZZWFyKCksIG5vdy5nZXRNb250aCgpLCBub3cuZ2V0RGF0ZSgpICsgKCg3ICsgZGF5T2ZXZWVrIC0gbm93LmdldERheSgpKSAlIDcpLCBob3VyLCBtaW51dGUsIDAsIDApO1xuXG4gICAgaWYgKHJlc3VsdCA8IG5vdykge1xuICAgICAgcmVzdWx0LnNldERhdGUocmVzdWx0LmdldERhdGUoKSArIDcpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,73 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- export class ItFileUtils {
3
- /**
4
- * Return the file size string
5
- * @param file the file
6
- * @param decimals decimal to show
7
- */
8
- static getFileSizeString(file, decimals = 2) {
9
- const bytes = file.size;
10
- if (!+bytes) {
11
- return '0 Bytes';
12
- }
13
- const k = 1024;
14
- const dm = decimals < 0 ? 0 : decimals;
15
- const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
16
- const i = Math.floor(Math.log(bytes) / Math.log(k));
17
- return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
18
- }
19
- /**
20
- * Convert a file to base64 string
21
- * @param file the base64 string
22
- */
23
- static fileToBase64(file) {
24
- const reader = new FileReader();
25
- reader.readAsDataURL(file);
26
- return new Observable(observer => {
27
- reader.onload = e => {
28
- const target = e.target;
29
- if (!target?.result || target.result instanceof ArrayBuffer) {
30
- return observer.error('Error on parse');
31
- }
32
- observer.next(target.result);
33
- observer.complete();
34
- };
35
- reader.onerror = error => {
36
- observer.error(error);
37
- };
38
- });
39
- }
40
- /**
41
- * Convert base64 to Blob
42
- * @param base64 the base64 string
43
- * @param mimeType the <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types">MIME type</a> (example 'application/pdf')
44
- */
45
- static base64ToBlob(base64, mimeType) {
46
- const byteString = window.atob(base64);
47
- const arrayBuffer = new ArrayBuffer(byteString.length);
48
- const int8Array = new Uint8Array(arrayBuffer);
49
- for (let i = 0; i < byteString.length; i++) {
50
- int8Array[i] = byteString.charCodeAt(i);
51
- }
52
- return new Blob([int8Array], { type: mimeType });
53
- }
54
- /**
55
- * Convert base64 to File
56
- * @param base64 the base64 string
57
- * @param mimeType the <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types">MIME type</a> (example 'application/pdf')
58
- * @param filename the file name
59
- */
60
- static base64ToFile(base64, mimeType, filename) {
61
- const fileBlob = ItFileUtils.base64ToBlob(base64, mimeType);
62
- return new File([fileBlob], filename, { type: mimeType });
63
- }
64
- /**
65
- * Extract the MIME type from base64 string
66
- * @param base64 the base64 string
67
- */
68
- static getMimeTypeFromBase64(base64) {
69
- const mime = base64.match(/data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+).*,.*/);
70
- return mime?.length ? mime[1] : undefined;
71
- }
72
- }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL3V0aWxzL2ZpbGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxNQUFNLE9BQU8sV0FBVztJQUN0Qjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGlCQUFpQixDQUFDLElBQVUsRUFBRSxRQUFRLEdBQUcsQ0FBQztRQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1osT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNmLE1BQU0sRUFBRSxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV4RSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sR0FBRyxVQUFVLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFVO1FBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDaEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQixPQUFPLElBQUksVUFBVSxDQUFTLFFBQVEsQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2xCLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLFlBQVksV0FBVyxFQUFFLENBQUM7b0JBQzVELE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUMxQyxDQUFDO2dCQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM3QixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEIsQ0FBQyxDQUFDO1lBQ0YsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDdkIsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7UUFDekQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMzQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFjLEVBQUUsUUFBZ0IsRUFBRSxRQUFnQjtRQUMzRSxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM1RCxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxNQUFjO1FBQ2hELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztRQUN2RSxPQUFPLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzVDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIEl0RmlsZVV0aWxzIHtcbiAgLyoqXG4gICAqIFJldHVybiB0aGUgZmlsZSBzaXplIHN0cmluZ1xuICAgKiBAcGFyYW0gZmlsZSB0aGUgZmlsZVxuICAgKiBAcGFyYW0gZGVjaW1hbHMgZGVjaW1hbCB0byBzaG93XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldEZpbGVTaXplU3RyaW5nKGZpbGU6IEZpbGUsIGRlY2ltYWxzID0gMik6IHN0cmluZyB7XG4gICAgY29uc3QgYnl0ZXMgPSBmaWxlLnNpemU7XG4gICAgaWYgKCErYnl0ZXMpIHtcbiAgICAgIHJldHVybiAnMCBCeXRlcyc7XG4gICAgfVxuXG4gICAgY29uc3QgayA9IDEwMjQ7XG4gICAgY29uc3QgZG0gPSBkZWNpbWFscyA8IDAgPyAwIDogZGVjaW1hbHM7XG4gICAgY29uc3Qgc2l6ZXMgPSBbJ0J5dGVzJywgJ0tCJywgJ01CJywgJ0dCJywgJ1RCJywgJ1BCJywgJ0VCJywgJ1pCJywgJ1lCJ107XG5cbiAgICBjb25zdCBpID0gTWF0aC5mbG9vcihNYXRoLmxvZyhieXRlcykgLyBNYXRoLmxvZyhrKSk7XG4gICAgcmV0dXJuIGAke3BhcnNlRmxvYXQoKGJ5dGVzIC8gTWF0aC5wb3coaywgaSkpLnRvRml4ZWQoZG0pKX0gJHtzaXplc1tpXX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYSBmaWxlIHRvIGJhc2U2NCBzdHJpbmdcbiAgICogQHBhcmFtIGZpbGUgdGhlIGJhc2U2NCBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZmlsZVRvQmFzZTY0KGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG5cbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPihvYnNlcnZlciA9PiB7XG4gICAgICByZWFkZXIub25sb2FkID0gZSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0O1xuICAgICAgICBpZiAoIXRhcmdldD8ucmVzdWx0IHx8IHRhcmdldC5yZXN1bHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikge1xuICAgICAgICAgIHJldHVybiBvYnNlcnZlci5lcnJvcignRXJyb3Igb24gcGFyc2UnKTtcbiAgICAgICAgfVxuICAgICAgICBvYnNlcnZlci5uZXh0KHRhcmdldC5yZXN1bHQpO1xuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgfTtcbiAgICAgIHJlYWRlci5vbmVycm9yID0gZXJyb3IgPT4ge1xuICAgICAgICBvYnNlcnZlci5lcnJvcihlcnJvcik7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYmFzZTY0IHRvIEJsb2JcbiAgICogQHBhcmFtIGJhc2U2NCB0aGUgYmFzZTY0IHN0cmluZ1xuICAgKiBAcGFyYW0gbWltZVR5cGUgdGhlIDxhIGhyZWY9XCJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0Jhc2ljc19vZl9IVFRQL01JTUVfdHlwZXMvQ29tbW9uX3R5cGVzXCI+TUlNRSB0eXBlPC9hPiAoZXhhbXBsZSAnYXBwbGljYXRpb24vcGRmJylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYmFzZTY0VG9CbG9iKGJhc2U2NDogc3RyaW5nLCBtaW1lVHlwZTogc3RyaW5nKTogQmxvYiB7XG4gICAgY29uc3QgYnl0ZVN0cmluZyA9IHdpbmRvdy5hdG9iKGJhc2U2NCk7XG4gICAgY29uc3QgYXJyYXlCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoYnl0ZVN0cmluZy5sZW5ndGgpO1xuICAgIGNvbnN0IGludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KGFycmF5QnVmZmVyKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJ5dGVTdHJpbmcubGVuZ3RoOyBpKyspIHtcbiAgICAgIGludDhBcnJheVtpXSA9IGJ5dGVTdHJpbmcuY2hhckNvZGVBdChpKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBCbG9iKFtpbnQ4QXJyYXldLCB7IHR5cGU6IG1pbWVUeXBlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgYmFzZTY0IHRvIEZpbGVcbiAgICogQHBhcmFtIGJhc2U2NCB0aGUgYmFzZTY0IHN0cmluZ1xuICAgKiBAcGFyYW0gbWltZVR5cGUgdGhlIDxhIGhyZWY9XCJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0Jhc2ljc19vZl9IVFRQL01JTUVfdHlwZXMvQ29tbW9uX3R5cGVzXCI+TUlNRSB0eXBlPC9hPiAoZXhhbXBsZSAnYXBwbGljYXRpb24vcGRmJylcbiAgICogQHBhcmFtIGZpbGVuYW1lIHRoZSBmaWxlIG5hbWVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYmFzZTY0VG9GaWxlKGJhc2U2NDogc3RyaW5nLCBtaW1lVHlwZTogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nKTogRmlsZSB7XG4gICAgY29uc3QgZmlsZUJsb2IgPSBJdEZpbGVVdGlscy5iYXNlNjRUb0Jsb2IoYmFzZTY0LCBtaW1lVHlwZSk7XG4gICAgcmV0dXJuIG5ldyBGaWxlKFtmaWxlQmxvYl0sIGZpbGVuYW1lLCB7IHR5cGU6IG1pbWVUeXBlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3QgdGhlIE1JTUUgdHlwZSBmcm9tIGJhc2U2NCBzdHJpbmdcbiAgICogQHBhcmFtIGJhc2U2NCB0aGUgYmFzZTY0IHN0cmluZ1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRNaW1lVHlwZUZyb21CYXNlNjQoYmFzZTY0OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG1pbWUgPSBiYXNlNjQubWF0Y2goL2RhdGE6KFthLXpBLVowLTldK1xcL1thLXpBLVowLTktLitdKykuKiwuKi8pO1xuICAgIHJldHVybiBtaW1lPy5sZW5ndGggPyBtaW1lWzFdIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -1,35 +0,0 @@
1
- /**
2
- * General Email Regex (RFC 5322 Official Standard)
3
- * http://emailregex.com/
4
- */
5
- export const EMAIL_REGEX = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/;
6
- /**
7
- * Phone number Regex
8
- */
9
- export const PHONE_NUMBER_REGEX = /^\s*(?:\+?(\d{1,3}))?[-. (]*(\d{3})[-. )]*(\d{3})[-. ]*(\d{3})(?: *x(\d+))?\s*$/;
10
- /**
11
- * URL Regex
12
- */
13
- export const URL_REGEX = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/;
14
- /**
15
- * The italian tax code Regex (Codice Fiscale)
16
- */
17
- export const ITALIAN_TAX_CODE_REGEX = /^[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9]{3}[A-Za-z]{1}$/i;
18
- /**
19
- * The VAT number Regex (Partita iva)
20
- */
21
- export const VAT_NUMBER_REGEX = /^[0-9]{11}$/;
22
- /**
23
- * Italian CAP Regex
24
- */
25
- export const CAP_REGEX = /^[0-9]{5}$/;
26
- /**
27
- * Italian Plate Regex
28
- */
29
- export const PLATE_REGEX = /^[A-Za-z]{2}\d{3}[A-Za-z]{2}$/i;
30
- /**
31
- * IBAN Regex
32
- * https://blog.marketto.it/en/2018/06/validate-any-country-iban/
33
- */
34
- export const IBAN_REGEX = /^(?:(?:IT|SM)\d{2}[A-Z]\d{22}|CY\d{2}[A-Z]\d{23}|NL\d{2}[A-Z]{4}\d{10}|LV\d{2}[A-Z]{4}\d{13}|(?:BG|BH|GB|IE)\d{2}[A-Z]{4}\d{14}|GI\d{2}[A-Z]{4}\d{15}|RO\d{2}[A-Z]{4}\d{16}|KW\d{2}[A-Z]{4}\d{22}|MT\d{2}[A-Z]{4}\d{23}|NO\d{13}|(?:DK|FI|GL|FO)\d{16}|MK\d{17}|(?:AT|EE|KZ|LU|XK)\d{18}|(?:BA|HR|LI|CH|CR)\d{19}|(?:GE|DE|LT|ME|RS)\d{20}|IL\d{21}|(?:AD|CZ|ES|MD|SA)\d{22}|PT\d{23}|(?:BE|IS)\d{24}|(?:FR|MR|MC)\d{25}|(?:AL|DO|LB|PL)\d{26}|(?:AZ|HU)\d{27}|(?:GR|MU)\d{28})$/i;
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi91dGlscy9yZWdleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQ3RCLDRhQUE0YSxDQUFDO0FBRS9hOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsaUZBQWlGLENBQUM7QUFFcEg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQ3BCLG1OQUFtTixDQUFDO0FBRXROOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcseUVBQXlFLENBQUM7QUFFaEg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFFOUM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDO0FBRXRDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGdDQUFnQyxDQUFDO0FBRTVEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FDckIsbWRBQW1kLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYWwgRW1haWwgUmVnZXggKFJGQyA1MzIyIE9mZmljaWFsIFN0YW5kYXJkKVxuICogaHR0cDovL2VtYWlscmVnZXguY29tL1xuICovXG5leHBvcnQgY29uc3QgRU1BSUxfUkVHRVggPVxuICAvKD86W2EtejAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKyg/OlxcLlthLXowLTkhIyQlJicqKy89P15fYHt8fX4tXSspKnxcIig/OltcXHgwMS1cXHgwOFxceDBiXFx4MGNcXHgwZS1cXHgxZlxceDIxXFx4MjMtXFx4NWJcXHg1ZC1cXHg3Zl18XFxcXFtcXHgwMS1cXHgwOVxceDBiXFx4MGNcXHgwZS1cXHg3Zl0pKlwiKUAoPzooPzpbYS16MC05XSg/OlthLXowLTktXSpbYS16MC05XSk/XFwuKStbYS16MC05XSg/OlthLXowLTktXSpbYS16MC05XSk/fFxcWyg/Oig/OjI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPylcXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/fFthLXowLTktXSpbYS16MC05XTooPzpbXFx4MDEtXFx4MDhcXHgwYlxceDBjXFx4MGUtXFx4MWZcXHgyMS1cXHg1YVxceDUzLVxceDdmXXxcXFxcW1xceDAxLVxceDA5XFx4MGJcXHgwY1xceDBlLVxceDdmXSkrKVxcXSkvO1xuXG4vKipcbiAqIFBob25lIG51bWJlciBSZWdleFxuICovXG5leHBvcnQgY29uc3QgUEhPTkVfTlVNQkVSX1JFR0VYID0gL15cXHMqKD86XFwrPyhcXGR7MSwzfSkpP1stLiAoXSooXFxkezN9KVstLiApXSooXFxkezN9KVstLiBdKihcXGR7M30pKD86ICp4KFxcZCspKT9cXHMqJC87XG5cbi8qKlxuICogVVJMIFJlZ2V4XG4gKi9cbmV4cG9ydCBjb25zdCBVUkxfUkVHRVggPVxuICAvKGh0dHBzPzpcXC9cXC8oPzp3d3dcXC58KD8hd3d3KSlbYS16QS1aMC05XVthLXpBLVowLTktXStbYS16QS1aMC05XVxcLlteXFxzXXsyLH18d3d3XFwuW2EtekEtWjAtOV1bYS16QS1aMC05LV0rW2EtekEtWjAtOV1cXC5bXlxcc117Mix9fGh0dHBzPzpcXC9cXC8oPzp3d3dcXC58KD8hd3d3KSlbYS16QS1aMC05XStcXC5bXlxcc117Mix9fHd3d1xcLlthLXpBLVowLTldK1xcLlteXFxzXXsyLH0pLztcblxuLyoqXG4gKiBUaGUgaXRhbGlhbiB0YXggY29kZSBSZWdleCAoQ29kaWNlIEZpc2NhbGUpXG4gKi9cbmV4cG9ydCBjb25zdCBJVEFMSUFOX1RBWF9DT0RFX1JFR0VYID0gL15bQS1aYS16XXs2fVswLTldezJ9W0EtWmEtel17MX1bMC05XXsyfVtBLVphLXpdezF9WzAtOV17M31bQS1aYS16XXsxfSQvaTtcblxuLyoqXG4gKiBUaGUgVkFUIG51bWJlciBSZWdleCAoUGFydGl0YSBpdmEpXG4gKi9cbmV4cG9ydCBjb25zdCBWQVRfTlVNQkVSX1JFR0VYID0gL15bMC05XXsxMX0kLztcblxuLyoqXG4gKiBJdGFsaWFuIENBUCBSZWdleFxuICovXG5leHBvcnQgY29uc3QgQ0FQX1JFR0VYID0gL15bMC05XXs1fSQvO1xuXG4vKipcbiAqIEl0YWxpYW4gUGxhdGUgUmVnZXhcbiAqL1xuZXhwb3J0IGNvbnN0IFBMQVRFX1JFR0VYID0gL15bQS1aYS16XXsyfVxcZHszfVtBLVphLXpdezJ9JC9pO1xuXG4vKipcbiAqIElCQU4gUmVnZXhcbiAqIGh0dHBzOi8vYmxvZy5tYXJrZXR0by5pdC9lbi8yMDE4LzA2L3ZhbGlkYXRlLWFueS1jb3VudHJ5LWliYW4vXG4gKi9cbmV4cG9ydCBjb25zdCBJQkFOX1JFR0VYID1cbiAgL14oPzooPzpJVHxTTSlcXGR7Mn1bQS1aXVxcZHsyMn18Q1lcXGR7Mn1bQS1aXVxcZHsyM318TkxcXGR7Mn1bQS1aXXs0fVxcZHsxMH18TFZcXGR7Mn1bQS1aXXs0fVxcZHsxM318KD86Qkd8Qkh8R0J8SUUpXFxkezJ9W0EtWl17NH1cXGR7MTR9fEdJXFxkezJ9W0EtWl17NH1cXGR7MTV9fFJPXFxkezJ9W0EtWl17NH1cXGR7MTZ9fEtXXFxkezJ9W0EtWl17NH1cXGR7MjJ9fE1UXFxkezJ9W0EtWl17NH1cXGR7MjN9fE5PXFxkezEzfXwoPzpES3xGSXxHTHxGTylcXGR7MTZ9fE1LXFxkezE3fXwoPzpBVHxFRXxLWnxMVXxYSylcXGR7MTh9fCg/OkJBfEhSfExJfENIfENSKVxcZHsxOX18KD86R0V8REV8TFR8TUV8UlMpXFxkezIwfXxJTFxcZHsyMX18KD86QUR8Q1p8RVN8TUR8U0EpXFxkezIyfXxQVFxcZHsyM318KD86QkV8SVMpXFxkezI0fXwoPzpGUnxNUnxNQylcXGR7MjV9fCg/OkFMfERPfExCfFBMKVxcZHsyNn18KD86QVp8SFUpXFxkezI3fXwoPzpHUnxNVSlcXGR7Mjh9KSQvaTtcbiJdfQ==
@@ -1,156 +0,0 @@
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
- /**
104
- * URL validator
105
- */
106
- static get url() {
107
- return ItValidators.customPattern(URL_REGEX, { invalidUrl: true });
108
- }
109
- /**
110
- * Italian Tax Code validator
111
- */
112
- static get taxCode() {
113
- return ItValidators.customPattern(ITALIAN_TAX_CODE_REGEX, { invalidTaxCode: true });
114
- }
115
- /**
116
- * VAT Number validator
117
- */
118
- static get vatNumber() {
119
- return ItValidators.customPattern(VAT_NUMBER_REGEX, { invalidVatNumber: true });
120
- }
121
- /**
122
- * Italian Postal Code validator (CAP)
123
- */
124
- static get cap() {
125
- return ItValidators.customPattern(CAP_REGEX, { invalidCap: true });
126
- }
127
- /**
128
- * IBAN validator
129
- */
130
- static get iban() {
131
- return ItValidators.customPattern(IBAN_REGEX, { invalidIban: true });
132
- }
133
- /**
134
- * Italian plate validator
135
- */
136
- static get plate() {
137
- return ItValidators.customPattern(PLATE_REGEX, { invalidPlate: true });
138
- }
139
- /**
140
- * Check if value is a valid RegExp
141
- */
142
- static get regExp() {
143
- return (control) => {
144
- try {
145
- if (control?.value) {
146
- new RegExp(control.value);
147
- }
148
- }
149
- catch (e) {
150
- return { invalidRegex: true };
151
- }
152
- return null;
153
- };
154
- }
155
- }
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXQtdmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL3ZhbGlkYXRvcnMvaXQtdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFVBQVUsRUFDVixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsTUFBTSxPQUFPLFlBQVk7YUFDVCw0QkFBdUIsR0FBRyxpQkFBaUIsQ0FBQztJQUUxRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFhLEVBQUUsS0FBdUI7UUFDaEUsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbkIsc0NBQXNDO2dCQUN0QyxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFFRCw0REFBNEQ7WUFDNUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFeEMsd0ZBQXdGO1lBQ3hGLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM5QixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBc0IsRUFBRSxTQUFnRDtRQUNoRyxPQUFPLFdBQVcsQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELElBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2hDLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxhQUFhLENBQ3pCLE9BQXdCLEVBQ3hCLG1CQUFtQixHQUFHLFVBQVUsRUFDaEMsa0JBQWtCLEdBQUcsaUJBQWlCO1FBRXRDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLCtCQUErQjtRQUN2RixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsd0JBQXdCO1FBQ2xGLE1BQU0sUUFBUSxHQUFHLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQyw4Q0FBOEM7UUFFdkYsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxJQUFJLFFBQVEsS0FBSyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2Ryx3RUFBd0U7WUFDeEUsY0FBYyxFQUFFLFNBQVMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELGNBQWMsRUFBRSxhQUFhLEVBQUUsQ0FBQztZQUNoQyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxRQUFRLElBQUksZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3pDLGNBQWMsRUFBRSxhQUFhLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUNwQixTQUFTLEdBQUcsRUFBRSxFQUNkLFNBQVMsR0FBRyxJQUFJLEVBQ2hCLGNBQWMsR0FBRyxJQUFJLEVBQ3JCLFlBQVksR0FBRyxJQUFJLEVBQ25CLG9CQUFvQixHQUFHLElBQUksRUFDM0IsUUFBUSxHQUFHLElBQUk7UUFFZixNQUFNLFVBQVUsR0FBdUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDekUsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBQ0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFDRCxJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDekIsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksWUFBWSxDQUFDLHVCQUF1QixHQUFHLENBQUMsRUFBRSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pJLENBQUM7UUFDRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUNELE9BQW9CLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLEtBQUs7UUFDckIsT0FBb0IsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUgsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLEdBQUc7UUFDbkIsT0FBTyxZQUFZLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLEdBQUc7UUFDbkIsT0FBTyxZQUFZLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sS0FBSyxPQUFPO1FBQ3ZCLE9BQU8sWUFBWSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sS0FBSyxTQUFTO1FBQ3pCLE9BQU8sWUFBWSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLEdBQUc7UUFDbkIsT0FBTyxZQUFZLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sS0FBSyxJQUFJO1FBQ3BCLE9BQU8sWUFBWSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLEtBQUssS0FBSztRQUNyQixPQUFPLFlBQVksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLE1BQU07UUFDdEIsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDM0QsSUFBSSxDQUFDO2dCQUNILElBQUksT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO29CQUNuQixJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2hDLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQ0FQX1JFR0VYLFxuICBFTUFJTF9SRUdFWCxcbiAgSUJBTl9SRUdFWCxcbiAgSVRBTElBTl9UQVhfQ09ERV9SRUdFWCxcbiAgUEhPTkVfTlVNQkVSX1JFR0VYLFxuICBQTEFURV9SRUdFWCxcbiAgVVJMX1JFR0VYLFxuICBWQVRfTlVNQkVSX1JFR0VYLFxufSBmcm9tICcuLi91dGlscy9yZWdleCc7XG5cbmV4cG9ydCBjbGFzcyBJdFZhbGlkYXRvcnMge1xuICBwdWJsaWMgc3RhdGljIFNwZWNpYWxDaGFyYWN0ZXJQYXR0ZXJuID0gJyFAIyQlJipfKz07OnwsLic7XG5cbiAgLyoqXG4gICAqIFN0YXRpYyBwYXR0ZXJuIHZhbGlkYXRvciB3aXRoIGN1c3RvbSBlcnJvclxuICAgKiBAcGFyYW0gcmVnZXhcbiAgICogQHBhcmFtIGVycm9yXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGN1c3RvbVBhdHRlcm4ocmVnZXg6IFJlZ0V4cCwgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgLy8gaWYgY29udHJvbCBpcyBlbXB0eSByZXR1cm4gbm8gZXJyb3JcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIC8vIHRlc3QgdGhlIHZhbHVlIG9mIHRoZSBjb250cm9sIGFnYWluc3QgdGhlIHJlZ2V4cCBzdXBwbGllZFxuICAgICAgY29uc3QgdmFsaWQgPSByZWdleC50ZXN0KGNvbnRyb2wudmFsdWUpO1xuXG4gICAgICAvLyBpZiB0cnVlLCByZXR1cm4gbm8gZXJyb3IgKG5vIGVycm9yKSwgZWxzZSByZXR1cm4gZXJyb3IgcGFzc2VkIGluIHRoZSBzZWNvbmQgcGFyYW1ldGVyXG4gICAgICByZXR1cm4gdmFsaWQgPyBudWxsIDogZXJyb3I7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgVmFsaWRhdG9yIGlmIHRoZSBjb25kaXRpb24gaXMgc2F0aXNmaWVkXG4gICAqIEBwYXJhbSB2YWxpZGF0b3IgdGhlIHZhbGlkYXRvciB0byBhcHBseSBpZiB0aGUgY29uZGl0aW9uIGlzIHRydWVcbiAgICogQHBhcmFtIGNvbmRpdGlvbiB0aGUgY29uZGl0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNvbmRpdGlvbmFsKHZhbGlkYXRvcjogVmFsaWRhdG9yRm4sIGNvbmRpdGlvbjogKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4gYm9vbGVhbik6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gZm9ybUNvbnRyb2wgPT4ge1xuICAgICAgaWYgKCFmb3JtQ29udHJvbC5wYXJlbnQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBpZiAoY29uZGl0aW9uKGZvcm1Db250cm9sKSkge1xuICAgICAgICByZXR1cm4gdmFsaWRhdG9yKGZvcm1Db250cm9sKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgd2hldGhlciBvdXIgcGFzc3dvcmQgYW5kIGNvbmZpcm0gcGFzc3dvcmQgYXJlIGEgbWF0Y2hcbiAgICogQHBhcmFtIGNvbnRyb2xcbiAgICogQHBhcmFtIHBhc3N3b3JkQ29udHJvbE5hbWUgdGhlIHBhc3N3b3JkIGZvcm1Db250cm9sTmFtZVxuICAgKiBAcGFyYW0gY29uZmlybUNvbnRyb2xOYW1lIHRoZSBjb25maXJtUGFzc3dvcmQgZm9ybUNvbnRyb2xOYW1lXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHBhc3N3b3JkTWF0Y2goXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuICAgIHBhc3N3b3JkQ29udHJvbE5hbWUgPSAncGFzc3dvcmQnLFxuICAgIGNvbmZpcm1Db250cm9sTmFtZSA9ICdjb25maXJtUGFzc3dvcmQnXG4gICk6IEFic3RyYWN0Q29udHJvbCB8IG51bGwge1xuICAgIGNvbnN0IGNvbmZpcm1Db250cm9sID0gY29udHJvbC5nZXQoY29uZmlybUNvbnRyb2xOYW1lKTsgLy8gY29uZmlybVBhc3N3b3JkIGZvcm0gY29udHJvbFxuICAgIGlmICghY29uZmlybUNvbnRyb2wpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHBhc3N3b3JkQ29udHJvbCA9IGNvbnRyb2wuZ2V0KHBhc3N3b3JkQ29udHJvbE5hbWUpOyAvLyBwYXNzd29yZCBmb3JtIGNvbnRyb2xcbiAgICBjb25zdCBwYXNzd29yZCA9IHBhc3N3b3JkQ29udHJvbD8udmFsdWU7IC8vIGdldCBwYXNzd29yZCBmcm9tIG91ciBwYXNzd29yZCBmb3JtIGNvbnRyb2xcblxuICAgIC8vIGNvbXBhcmUgaXMgdGhlIHBhc3N3b3JkIG1hdGNoXG4gICAgaWYgKChwYXNzd29yZCAmJiAhY29uZmlybUNvbnRyb2wudmFsdWUpIHx8IChjb25maXJtQ29udHJvbC52YWx1ZSAmJiBwYXNzd29yZCAhPT0gY29uZmlybUNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAvLyBpZiB0aGV5IGRvbid0IG1hdGNoLCBzZXQgYW4gZXJyb3IgaW4gb3VyIGNvbmZpcm1QYXNzd29yZCBmb3JtIGNvbnRyb2xcbiAgICAgIGNvbmZpcm1Db250cm9sPy5zZXRFcnJvcnMoeyBub1Bhc3N3b3JkTWF0Y2g6IHRydWUgfSk7XG4gICAgICBjb25maXJtQ29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICAgICAgcmV0dXJuIGNvbnRyb2w7XG4gICAgfVxuXG4gICAgaWYgKHBhc3N3b3JkICYmIHBhc3N3b3JkQ29udHJvbD8udG91Y2hlZCkge1xuICAgICAgY29uZmlybUNvbnRyb2w/Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUGFzc3dvcmQgdmFsaWRhdG9yXG4gICAqIEBwYXJhbSBtaW5MZW5ndGggbWluaW11bSBwYXNzd29yZCBsZW5ndGggLSBkZWZhdWx0IDEwXG4gICAqIEBwYXJhbSBoYXNOdW1iZXIgY2hlY2sgd2hldGhlciB0aGUgZW50ZXJlZCBwYXNzd29yZCBoYXMgYSBudW1iZXIgLSBkZWZhdWx0IHRydWVcbiAgICogQHBhcmFtIGhhc0NhcGl0YWxDYXNlIGNoZWNrIHdoZXRoZXIgdGhlIGVudGVyZWQgcGFzc3dvcmQgaGFzIHVwcGVyIGNhc2UgbGV0dGVyIC0gZGVmYXVsdCB0cnVlXG4gICAqIEBwYXJhbSBoYXNTbWFsbENhc2UgY2hlY2sgd2hldGhlciB0aGUgZW50ZXJlZCBwYXNzd29yZCBoYXMgYSBsb3dlci1jYXNlIGxldHRlciAtIGRlZmF1bHQgdHJ1ZVxuICAgKiBAcGFyYW0gaGFzU3BlY2lhbENoYXJhY3RlcnMgY2hlY2sgd2hldGhlciB0aGUgZW50ZXJlZCBwYXNzd29yZCBoYXMgYSBzcGVjaWFsIGNoYXJhY3RlciAtIGRlZmF1bHQgdHJ1ZVxuICAgKiBAcGFyYW0gcmVxdWlyZWQgdGhlIGZpZWxkIGlzIHJlcXVpcmVkIC0gZGVmYXVsdCB0cnVlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHBhc3N3b3JkKFxuICAgIG1pbkxlbmd0aCA9IDEwLFxuICAgIGhhc051bWJlciA9IHRydWUsXG4gICAgaGFzQ2FwaXRhbENhc2UgPSB0cnVlLFxuICAgIGhhc1NtYWxsQ2FzZSA9IHRydWUsXG4gICAgaGFzU3BlY2lhbENoYXJhY3RlcnMgPSB0cnVlLFxuICAgIHJlcXVpcmVkID0gdHJ1ZVxuICApOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3QgdmFsaWRhdG9yczogQXJyYXk8VmFsaWRhdG9yRm4+ID0gW1ZhbGlkYXRvcnMubWluTGVuZ3RoKG1pbkxlbmd0aCldO1xuICAgIGlmIChoYXNOdW1iZXIpIHtcbiAgICAgIHZhbGlkYXRvcnMucHVzaChJdFZhbGlkYXRvcnMuY3VzdG9tUGF0dGVybigvXFxkLywgeyBoYXNOdW1iZXIgfSkpO1xuICAgIH1cbiAgICBpZiAoaGFzQ2FwaXRhbENhc2UpIHtcbiAgICAgIHZhbGlkYXRvcnMucHVzaChJdFZhbGlkYXRvcnMuY3VzdG9tUGF0dGVybigvW0EtWl0vLCB7IGhhc0NhcGl0YWxDYXNlIH0pKTtcbiAgICB9XG4gICAgaWYgKGhhc1NtYWxsQ2FzZSkge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKEl0VmFsaWRhdG9ycy5jdXN0b21QYXR0ZXJuKC9bYS16XS8sIHsgaGFzU21hbGxDYXNlIH0pKTtcbiAgICB9XG4gICAgaWYgKGhhc1NwZWNpYWxDaGFyYWN0ZXJzKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goSXRWYWxpZGF0b3JzLmN1c3RvbVBhdHRlcm4obmV3IFJlZ0V4cChgWyR7SXRWYWxpZGF0b3JzLlNwZWNpYWxDaGFyYWN0ZXJQYXR0ZXJufV1gKSwgeyBoYXNTcGVjaWFsQ2hhcmFjdGVycyB9KSk7XG4gICAgfVxuICAgIGlmIChyZXF1aXJlZCkge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH1cbiAgICByZXR1cm4gPFZhbGlkYXRvckZuPlZhbGlkYXRvcnMuY29tcG9zZSh2YWxpZGF0b3JzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWFpbCB2YWxpZGF0b3JcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGVtYWlsKCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gPFZhbGlkYXRvckZuPlZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5lbWFpbCwgSXRWYWxpZGF0b3JzLmN1c3RvbVBhdHRlcm4oRU1BSUxfUkVHRVgsIHsgaW52YWxpZEVtYWlsOiB0cnVlIH0pXSk7XG4gIH1cblxuICAvKipcbiAgICogUGhvbmUgbnVtYmVyIHZhbGlkYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQgdGVsKCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gSXRWYWxpZGF0b3JzLmN1c3RvbVBhdHRlcm4oUEhPTkVfTlVNQkVSX1JFR0VYLCB7IGludmFsaWRUZWw6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogVVJMIHZhbGlkYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQgdXJsKCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gSXRWYWxpZGF0b3JzLmN1c3RvbVBhdHRlcm4oVVJMX1JFR0VYLCB7IGludmFsaWRVcmw6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogSXRhbGlhbiBUYXggQ29kZSB2YWxpZGF0b3JcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IHRheENvZGUoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiBJdFZhbGlkYXRvcnMuY3VzdG9tUGF0dGVybihJVEFMSUFOX1RBWF9DT0RFX1JFR0VYLCB7IGludmFsaWRUYXhDb2RlOiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFZBVCBOdW1iZXIgdmFsaWRhdG9yXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCB2YXROdW1iZXIoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiBJdFZhbGlkYXRvcnMuY3VzdG9tUGF0dGVybihWQVRfTlVNQkVSX1JFR0VYLCB7IGludmFsaWRWYXROdW1iZXI6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogSXRhbGlhbiBQb3N0YWwgQ29kZSB2YWxpZGF0b3IgKENBUClcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGNhcCgpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIEl0VmFsaWRhdG9ycy5jdXN0b21QYXR0ZXJuKENBUF9SRUdFWCwgeyBpbnZhbGlkQ2FwOiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIElCQU4gdmFsaWRhdG9yXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCBpYmFuKCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gSXRWYWxpZGF0b3JzLmN1c3RvbVBhdHRlcm4oSUJBTl9SRUdFWCwgeyBpbnZhbGlkSWJhbjogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdGFsaWFuIHBsYXRlIHZhbGlkYXRvclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQgcGxhdGUoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiBJdFZhbGlkYXRvcnMuY3VzdG9tUGF0dGVybihQTEFURV9SRUdFWCwgeyBpbnZhbGlkUGxhdGU6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdmFsdWUgaXMgYSB2YWxpZCBSZWdFeHBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IHJlZ0V4cCgpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoY29udHJvbD8udmFsdWUpIHtcbiAgICAgICAgICBuZXcgUmVnRXhwKGNvbnRyb2wudmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiB7IGludmFsaWRSZWdleDogdHJ1ZSB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,110 +0,0 @@
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-group/avatar-group.component';
11
- export * from './lib/components/core/avatar/avatar.directive';
12
- export * from './lib/components/core/avatar/avatar.module';
13
- export * from './lib/components/core/badge/badge.directive';
14
- export * from './lib/components/core/button/button.directive';
15
- export * from './lib/components/core/callout/callout.component';
16
- export * from './lib/components/core/card/card.component';
17
- export * from './lib/components/core/carousel/carousel-item/carousel-item.component';
18
- export * from './lib/components/core/carousel/carousel.module';
19
- export * from './lib/components/core/carousel/carousel/carousel.component';
20
- export * from './lib/components/core/chip/chip.component';
21
- export * from './lib/components/core/collapse/collapse.component';
22
- export * from './lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component';
23
- export * from './lib/components/core/dimmer/dimmer-icon/dimmer-icon.component';
24
- export * from './lib/components/core/dimmer/dimmer.component';
25
- export * from './lib/components/core/dimmer/dimmer.module';
26
- export * from './lib/components/core/dropdown/dropdown-item/dropdown-item.component';
27
- export * from './lib/components/core/dropdown/dropdown.module';
28
- export * from './lib/components/core/dropdown/dropdown/dropdown.component';
29
- export * from './lib/components/core/forward/forward.directive';
30
- export * from './lib/components/core/link/link.component';
31
- export * from './lib/components/core/list/list-item/list-item.component';
32
- export * from './lib/components/core/list/list.module';
33
- export * from './lib/components/core/list/list/list.component';
34
- export * from './lib/components/core/modal/modal.component';
35
- export * from './lib/components/core/notifications/notifications.component';
36
- export * from './lib/components/core/pagination/pagination.component';
37
- export * from './lib/components/core/popover/popover.directive';
38
- export * from './lib/components/core/progress-bar/progress-bar.component';
39
- export * from './lib/components/core/progress-button/progress-button.component';
40
- export * from './lib/components/core/spinner/spinner.component';
41
- export * from './lib/components/core/steppers/steppers-container/steppers-container.component';
42
- export * from './lib/components/core/steppers/steppers-item/steppers-item.component';
43
- export * from './lib/components/core/steppers/steppers.module';
44
- export * from './lib/components/core/tab/tab-container/tab-container.component';
45
- export * from './lib/components/core/tab/tab-item/tab-item.component';
46
- export * from './lib/components/core/tab/tab.module';
47
- export * from './lib/components/core/table/sort/sort-header/sort-header.component';
48
- export * from './lib/components/core/table/sort/sort.directive';
49
- export * from './lib/components/core/table/table.component';
50
- export * from './lib/components/core/table/table.module';
51
- export * from './lib/components/core/timeline/timeline-item/timeline-item.component';
52
- export * from './lib/components/core/timeline/timeline.component';
53
- export * from './lib/components/core/timeline/timeline.module';
54
- export * from './lib/components/core/tooltip/tooltip.directive';
55
- // Forms components
56
- export * from './lib/components/form/autocomplete/autocomplete.component';
57
- export * from './lib/components/form/checkbox/checkbox.component';
58
- export * from './lib/components/form/form.module';
59
- export * from './lib/components/form/input/input.component';
60
- export * from './lib/components/form/password-input/password-input.component';
61
- export * from './lib/components/form/radio-button/radio-button.component';
62
- export * from './lib/components/form/range/range.component';
63
- export * from './lib/components/form/rating/rating.component';
64
- export * from './lib/components/form/select/select.component';
65
- export * from './lib/components/form/textarea/textarea.component';
66
- export * from './lib/components/form/transfer/transfer.component';
67
- export * from './lib/components/form/transfer/transfer.model';
68
- export * from './lib/components/form/upload-drag-drop/upload-drag-drop.component';
69
- export * from './lib/components/form/upload-file-list/upload-file-list.component';
70
- // Navigation components
71
- export * from './lib/components/navigation/back-button/back-button.component';
72
- export * from './lib/components/navigation/back-to-top/back-to-top.component';
73
- export * from './lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component';
74
- export * from './lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component';
75
- export * from './lib/components/navigation/breadcrumbs/breadcrumbs.module';
76
- export * from './lib/components/navigation/header/header.component';
77
- export * from './lib/components/navigation/megamenu/megamenu.component';
78
- export * from './lib/components/navigation/navbar/navbar-item/navbar-item.component';
79
- export * from './lib/components/navigation/navbar/navbar.module';
80
- export * from './lib/components/navigation/navbar/navbar/navbar.component';
81
- export * from './lib/components/navigation/navscroll/navscroll.component';
82
- export * from './lib/components/navigation/navscroll/navscroll.model';
83
- export * from './lib/components/navigation/sidebar/sidebar.component';
84
- export * from './lib/components/navigation/skiplink/skiplink/skiplink.component';
85
- export * from './lib/components/navigation/skiplink/skiplink-item/skiplink-item.component';
86
- export * from './lib/components/navigation/skiplink/skiplink.module';
87
- // Utils components
88
- export * from './lib/components/utils/error-page/error-page.component';
89
- export * from './lib/components/utils/icon/icon.component';
90
- export * from './lib/components/utils/language-switcher/language-switcher.component';
91
- // Services
92
- export * from './lib/services/notification/notification.service';
93
- // Pipes
94
- export * from './lib/pipes/date-ago.pipe';
95
- export * from './lib/pipes/duration.pipe';
96
- export * from './lib/pipes/mark-matching-text.pipe';
97
- // Interfaces
98
- export * from './lib/interfaces/design-angular-kit-config';
99
- export * from './lib/interfaces/sortable-table';
100
- export * from './lib/interfaces/core';
101
- export * from './lib/interfaces/form';
102
- export * from './lib/interfaces/icon';
103
- export * from './lib/interfaces/utils';
104
- // Utils
105
- export * from './lib/utils/date-utils';
106
- export * from './lib/utils/file-utils';
107
- export * from './lib/utils/regex';
108
- // Validators
109
- export * from './lib/validators/it-validators';
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxrQkFBa0I7QUFDbEIsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsNENBQTRDLENBQUM7QUFFM0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw0REFBNEQsQ0FBQztBQUUzRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsbURBQW1ELENBQUM7QUFFbEUsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUUzRCxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw0REFBNEQsQ0FBQztBQUUzRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkNBQTJDLENBQUM7QUFFMUQsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsZ0RBQWdELENBQUM7QUFFL0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyxpREFBaUQsQ0FBQztBQUVoRSxjQUFjLGdGQUFnRixDQUFDO0FBQy9GLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyxnREFBZ0QsQ0FBQztBQUUvRCxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDBDQUEwQyxDQUFDO0FBRXpELGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELGNBQWMsaURBQWlELENBQUM7QUFFaEUsbUJBQW1CO0FBQ25CLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxtRUFBbUUsQ0FBQztBQUVsRix3QkFBd0I7QUFDeEIsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLCtEQUErRCxDQUFDO0FBRTlFLGNBQWMsbUZBQW1GLENBQUM7QUFDbEcsY0FBYyx5RUFBeUUsQ0FBQztBQUN4RixjQUFjLDREQUE0RCxDQUFDO0FBRTNFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx5REFBeUQsQ0FBQztBQUV4RSxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0REFBNEQsQ0FBQztBQUUzRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsdURBQXVELENBQUM7QUFFdEUsY0FBYyx1REFBdUQsQ0FBQztBQUV0RSxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsNEVBQTRFLENBQUM7QUFDM0YsY0FBYyxzREFBc0QsQ0FBQztBQUVyRSxtQkFBbUI7QUFDbkIsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsc0VBQXNFLENBQUM7QUFFckYsV0FBVztBQUNYLGNBQWMsa0RBQWtELENBQUM7QUFFakUsUUFBUTtBQUNSLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGFBQWE7QUFDYixjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxRQUFRO0FBQ1IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsYUFBYTtBQUNiLGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGRlc2lnbi1hbmd1bGFyLWtpdFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rlc2lnbi1hbmd1bGFyLWtpdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZS1kZXNpZ24tYW5ndWxhci1raXQnO1xuXG4vLyBDb3JlIGNvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvYWxlcnQvYWxlcnQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2F2YXRhci9hdmF0YXItZHJvcGRvd24vYXZhdGFyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvYXZhdGFyL2F2YXRhci1ncm91cC9hdmF0YXItZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9hdmF0YXIvYXZhdGFyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvYXZhdGFyL2F2YXRhci5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvYmFkZ2UvYmFkZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvY2FsbG91dC9jYWxsb3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9jYXJvdXNlbC9jYXJvdXNlbC1pdGVtL2Nhcm91c2VsLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9jYXJvdXNlbC9jYXJvdXNlbC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2Nhcm91c2VsL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9jaGlwL2NoaXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9jb2xsYXBzZS9jb2xsYXBzZS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvZGltbWVyL2RpbW1lci1idXR0b25zL2RpbW1lci1idXR0b25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvZGltbWVyL2RpbW1lci1pY29uL2RpbW1lci1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvZGltbWVyL2RpbW1lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2RpbW1lci9kaW1tZXIubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2Ryb3Bkb3duL2Ryb3Bkb3duLWl0ZW0vZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvZHJvcGRvd24vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2ZvcndhcmQvZm9yd2FyZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL2xpbmsvbGluay5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvbGlzdC9saXN0LWl0ZW0vbGlzdC1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvbGlzdC9saXN0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvbGlzdC9saXN0L2xpc3QuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3Byb2dyZXNzLWJ1dHRvbi9wcm9ncmVzcy1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3N0ZXBwZXJzL3N0ZXBwZXJzLWNvbnRhaW5lci9zdGVwcGVycy1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9zdGVwcGVycy9zdGVwcGVycy1pdGVtL3N0ZXBwZXJzLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS9zdGVwcGVycy9zdGVwcGVycy5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvcmUvdGFiL3RhYi1jb250YWluZXIvdGFiLWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3RhYi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3RhYi90YWIubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3RhYmxlL3NvcnQvc29ydC1oZWFkZXIvc29ydC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS90YWJsZS9zb3J0L3NvcnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3RhYmxlL3RhYmxlLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS90aW1lbGluZS90aW1lbGluZS1pdGVtL3RpbWVsaW5lLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS90aW1lbGluZS90aW1lbGluZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb3JlL3RpbWVsaW5lL3RpbWVsaW5lLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29yZS90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlJztcblxuLy8gRm9ybXMgY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm0ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL3Bhc3N3b3JkLWlucHV0L3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL3JhbmdlL3JhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vcmF0aW5nL3JhdGluZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL3RyYW5zZmVyL3RyYW5zZmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvcm0vdHJhbnNmZXIvdHJhbnNmZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL3VwbG9hZC1kcmFnLWRyb3AvdXBsb2FkLWRyYWctZHJvcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtL3VwbG9hZC1maWxlLWxpc3QvdXBsb2FkLWZpbGUtbGlzdC5jb21wb25lbnQnO1xuXG4vLyBOYXZpZ2F0aW9uIGNvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9iYWNrLWJ1dHRvbi9iYWNrLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL2JhY2stdG8tdG9wL2JhY2stdG8tdG9wLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9icmVhZGNydW1icy9icmVhZGNydW1iLWl0ZW0vYnJlYWRjcnVtYi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vYnJlYWRjcnVtYnMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9tZWdhbWVudS9tZWdhbWVudS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2YmFyL25hdmJhci1pdGVtL25hdmJhci1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2YmFyL25hdmJhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmJhci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZzY3JvbGwvbmF2c2Nyb2xsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2c2Nyb2xsL25hdnNjcm9sbC5tb2RlbCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL3NraXBsaW5rL3NraXBsaW5rL3NraXBsaW5rLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vc2tpcGxpbmsvc2tpcGxpbmstaXRlbS9za2lwbGluay1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vc2tpcGxpbmsvc2tpcGxpbmsubW9kdWxlJztcblxuLy8gVXRpbHMgY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy91dGlscy9lcnJvci1wYWdlL2Vycm9yLXBhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdXRpbHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3V0aWxzL2xhbmd1YWdlLXN3aXRjaGVyL2xhbmd1YWdlLXN3aXRjaGVyLmNvbXBvbmVudCc7XG5cbi8vIFNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuXG4vLyBQaXBlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvZGF0ZS1hZ28ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9kdXJhdGlvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL21hcmstbWF0Y2hpbmctdGV4dC5waXBlJztcblxuLy8gSW50ZXJmYWNlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9kZXNpZ24tYW5ndWxhci1raXQtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvc29ydGFibGUtdGFibGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2NvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvaWNvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL3V0aWxzJztcblxuLy8gVXRpbHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2RhdGUtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvZmlsZS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscy9yZWdleCc7XG5cbi8vIFZhbGlkYXRvcnNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRvcnMvaXQtdmFsaWRhdG9ycyc7XG4iXX0=