ngx-vector-components 4.92.0 → 4.94.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/{esm2020 → esm2022}/lib/components/badge/badge.component.mjs +39 -39
  3. package/esm2022/lib/components/badge/badge.module.mjs +19 -0
  4. package/{esm2020 → esm2022}/lib/components/badge/index.mjs +2 -2
  5. package/{esm2020 → esm2022}/lib/components/breadcrumb/breadcrumb.component.mjs +66 -66
  6. package/esm2022/lib/components/breadcrumb/breadcrumb.module.mjs +18 -0
  7. package/{esm2020 → esm2022}/lib/components/breadcrumb/index.mjs +2 -2
  8. package/esm2022/lib/components/crud-base/crud-base.component.mjs +47 -0
  9. package/{esm2020 → esm2022}/lib/components/crud-base/index.mjs +1 -1
  10. package/{esm2020 → esm2022}/lib/components/crud-footer/crud-footer.component.mjs +32 -32
  11. package/esm2022/lib/components/crud-footer/crud-footer.module.mjs +20 -0
  12. package/{esm2020 → esm2022}/lib/components/crud-footer/index.mjs +2 -2
  13. package/esm2022/lib/components/crud-header/crud-header.component.mjs +30 -0
  14. package/esm2022/lib/components/crud-header/crud-header.module.mjs +19 -0
  15. package/{esm2020 → esm2022}/lib/components/crud-header/index.mjs +2 -2
  16. package/{esm2020 → esm2022}/lib/components/crud-history/crud-history.component.mjs +82 -82
  17. package/esm2022/lib/components/crud-history/crud-history.module.mjs +20 -0
  18. package/{esm2020 → esm2022}/lib/components/crud-history/index.mjs +2 -2
  19. package/{esm2020 → esm2022}/lib/components/fields/button/button.component.mjs +41 -41
  20. package/{esm2020 → esm2022}/lib/components/fields/button/index.mjs +1 -1
  21. package/{esm2020 → esm2022}/lib/components/fields/calendar-field/calendar-field.component.mjs +74 -74
  22. package/{esm2020 → esm2022}/lib/components/fields/calendar-field/index.mjs +1 -1
  23. package/{esm2020 → esm2022}/lib/components/fields/checkbox-field/checkbox-field.component.mjs +46 -46
  24. package/{esm2020 → esm2022}/lib/components/fields/checkbox-field/index.mjs +1 -1
  25. package/{esm2020 → esm2022}/lib/components/fields/currency-field/currency-field.component.mjs +98 -98
  26. package/{esm2020 → esm2022}/lib/components/fields/currency-field/index.mjs +1 -1
  27. package/esm2022/lib/components/fields/data-table/data-table.component.mjs +386 -0
  28. package/{esm2020 → esm2022}/lib/components/fields/data-table/index.mjs +1 -1
  29. package/esm2022/lib/components/fields/dropdown-field/dropdown-field.component.mjs +204 -0
  30. package/{esm2020 → esm2022}/lib/components/fields/dropdown-field/index.mjs +1 -1
  31. package/{esm2020 → esm2022}/lib/components/fields/field-error-message/field-error-message.component.mjs +30 -30
  32. package/{esm2020 → esm2022}/lib/components/fields/field-error-message/index.mjs +1 -1
  33. package/esm2022/lib/components/fields/fields.module.mjs +211 -0
  34. package/esm2022/lib/components/fields/filters/filters.component.mjs +203 -0
  35. package/{esm2020 → esm2022}/lib/components/fields/filters/index.mjs +1 -1
  36. package/{esm2020 → esm2022}/lib/components/fields/index.mjs +18 -18
  37. package/{esm2020 → esm2022}/lib/components/fields/input-number-field/index.mjs +1 -1
  38. package/{esm2020 → esm2022}/lib/components/fields/input-number-field/input-number-field.component.mjs +85 -85
  39. package/{esm2020 → esm2022}/lib/components/fields/multiselect-field/index.mjs +1 -1
  40. package/{esm2020 → esm2022}/lib/components/fields/multiselect-field/multiselect-field.component.mjs +50 -50
  41. package/{esm2020 → esm2022}/lib/components/fields/percentage-field/index.mjs +1 -1
  42. package/{esm2020 → esm2022}/lib/components/fields/percentage-field/percentage-field.component.mjs +42 -42
  43. package/{esm2020 → esm2022}/lib/components/fields/radio-button-field/index.mjs +1 -1
  44. package/{esm2020 → esm2022}/lib/components/fields/radio-button-field/radio-button-field.component.mjs +48 -48
  45. package/{esm2020 → esm2022}/lib/components/fields/range-value/index.mjs +1 -1
  46. package/{esm2020 → esm2022}/lib/components/fields/range-value/range-value.component.mjs +72 -72
  47. package/{esm2020 → esm2022}/lib/components/fields/search-field/index.mjs +1 -1
  48. package/esm2022/lib/components/fields/search-field/search-field.component.mjs +33 -0
  49. package/{esm2020 → esm2022}/lib/components/fields/select-button-field/index.mjs +1 -1
  50. package/{esm2020 → esm2022}/lib/components/fields/select-button-field/select-button-field.component.mjs +20 -20
  51. package/{esm2020 → esm2022}/lib/components/fields/text-field/index.mjs +1 -1
  52. package/esm2022/lib/components/fields/text-field/text-field.component.mjs +232 -0
  53. package/{esm2020 → esm2022}/lib/components/fields/textarea-field/index.mjs +1 -1
  54. package/{esm2020 → esm2022}/lib/components/fields/textarea-field/textarea-field.component.mjs +81 -81
  55. package/esm2022/lib/components/generic-error-modal/generic-error-modal.component.mjs +39 -0
  56. package/esm2022/lib/components/generic-error-modal/generic-error-modal.module.mjs +20 -0
  57. package/{esm2020 → esm2022}/lib/components/generic-error-modal/index.mjs +2 -2
  58. package/{esm2020 → esm2022}/lib/components/generic-modal/generic-modal.component.mjs +66 -66
  59. package/esm2022/lib/components/generic-modal/generic-modal.module.mjs +20 -0
  60. package/{esm2020 → esm2022}/lib/components/generic-modal/index.mjs +2 -2
  61. package/{esm2020 → esm2022}/lib/components/index.mjs +13 -13
  62. package/{esm2020 → esm2022}/lib/components/menu/index.mjs +3 -3
  63. package/esm2022/lib/components/menu/menu.component.mjs +305 -0
  64. package/esm2022/lib/components/menu/menu.module.mjs +20 -0
  65. package/{esm2020 → esm2022}/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +42 -42
  66. package/{esm2020 → esm2022}/lib/components/panel/index.mjs +2 -2
  67. package/{esm2020 → esm2022}/lib/components/panel/panel.component.mjs +15 -15
  68. package/esm2022/lib/components/panel/panel.module.mjs +19 -0
  69. package/{esm2020 → esm2022}/lib/components/score/index.mjs +2 -2
  70. package/{esm2020 → esm2022}/lib/components/score/score.component.mjs +17 -17
  71. package/{esm2020 → esm2022}/lib/components/score/score.module.mjs +16 -16
  72. package/{esm2020 → esm2022}/lib/components/top-bar/index.mjs +2 -2
  73. package/{esm2020 → esm2022}/lib/components/top-bar/top-bar.component.mjs +142 -142
  74. package/esm2022/lib/components/top-bar/top-bar.module.mjs +20 -0
  75. package/{esm2020 → esm2022}/lib/guards/crud-list-has-items.guard.mjs +22 -22
  76. package/{esm2020 → esm2022}/lib/guards/get-token-by-guid.guard.mjs +54 -54
  77. package/{esm2020 → esm2022}/lib/guards/has-permission.guard.mjs +27 -27
  78. package/{esm2020 → esm2022}/lib/guards/index.mjs +5 -5
  79. package/{esm2020 → esm2022}/lib/guards/role.guard.mjs +24 -24
  80. package/{esm2020 → esm2022}/lib/guards/token-is-present.guard.mjs +26 -26
  81. package/{esm2020 → esm2022}/lib/interceptors/http-interceptor.mjs +185 -185
  82. package/{esm2020 → esm2022}/lib/interceptors/index.mjs +1 -1
  83. package/{esm2020 → esm2022}/lib/models/app-name.enum.mjs +9 -9
  84. package/{esm2020 → esm2022}/lib/models/boolean-type.enum.mjs +5 -5
  85. package/{esm2020 → esm2022}/lib/models/crud-history.model.mjs +2 -2
  86. package/{esm2020 → esm2022}/lib/models/crud-mode.enum.mjs +6 -6
  87. package/{esm2020 → esm2022}/lib/models/currency.enum.mjs +6 -6
  88. package/{esm2020 → esm2022}/lib/models/data-table.model.mjs +22 -22
  89. package/{esm2020 → esm2022}/lib/models/document-type.enum.mjs +5 -5
  90. package/{esm2020 → esm2022}/lib/models/filters.model.mjs +1 -1
  91. package/{esm2020 → esm2022}/lib/models/generic-modal.model.mjs +1 -1
  92. package/{esm2020 → esm2022}/lib/models/http-response.model.mjs +1 -1
  93. package/{esm2020 → esm2022}/lib/models/index.mjs +17 -17
  94. package/{esm2020 → esm2022}/lib/models/ip-info.enum.mjs +1 -1
  95. package/{esm2020 → esm2022}/lib/models/list-item.model.mjs +1 -1
  96. package/{esm2020 → esm2022}/lib/models/locale.enum.mjs +6 -6
  97. package/{esm2020 → esm2022}/lib/models/menu-item.model.mjs +1 -1
  98. package/{esm2020 → esm2022}/lib/models/message-status.enum.mjs +7 -7
  99. package/{esm2020 → esm2022}/lib/models/profile.model.mjs +270 -270
  100. package/{esm2020 → esm2022}/lib/models/role.enum.mjs +4 -4
  101. package/{esm2020 → esm2022}/lib/models/status.enum.mjs +7 -7
  102. package/{esm2020 → esm2022}/lib/models/topbar.model.mjs +1 -1
  103. package/{esm2020 → esm2022}/lib/models/vector-app.model.mjs +1 -1
  104. package/{esm2020 → esm2022}/lib/models/vector-notification.model.mjs +1 -1
  105. package/{esm2020 → esm2022}/lib/models/view.enum.mjs +6 -6
  106. package/{esm2020 → esm2022}/lib/pipes/currency-brl.pipe.mjs +18 -18
  107. package/{esm2020 → esm2022}/lib/pipes/format-document.pipe.mjs +17 -17
  108. package/{esm2020 → esm2022}/lib/pipes/index.mjs +8 -8
  109. package/{esm2020 → esm2022}/lib/pipes/mask.pipe.mjs +21 -21
  110. package/{esm2020 → esm2022}/lib/pipes/not-hidden.pipe.mjs +16 -16
  111. package/{esm2020 → esm2022}/lib/pipes/only-active.pipe.mjs +16 -16
  112. package/{esm2020 → esm2022}/lib/pipes/pipes.module.mjs +50 -50
  113. package/{esm2020 → esm2022}/lib/pipes/remove-last-child.pipe.mjs +18 -18
  114. package/{esm2020 → esm2022}/lib/pipes/unread-notifications.pipe.mjs +15 -15
  115. package/{esm2020 → esm2022}/lib/resolvers/get-selected-crud-item.resolver.mjs +28 -28
  116. package/{esm2020 → esm2022}/lib/resolvers/index.mjs +1 -1
  117. package/{esm2020 → esm2022}/lib/services/auth.service.mjs +77 -77
  118. package/{esm2020 → esm2022}/lib/services/base-dropdown.mjs +1 -1
  119. package/{esm2020 → esm2022}/lib/services/crud-base.service.mjs +13 -13
  120. package/{esm2020 → esm2022}/lib/services/enum.service.mjs +43 -43
  121. package/{esm2020 → esm2022}/lib/services/error-message.service.mjs +16 -16
  122. package/{esm2020 → esm2022}/lib/services/geolocation.service.mjs +23 -23
  123. package/{esm2020 → esm2022}/lib/services/index.mjs +12 -12
  124. package/{esm2020 → esm2022}/lib/services/loading.service.mjs +15 -15
  125. package/{esm2020 → esm2022}/lib/services/menu.service.mjs +152 -152
  126. package/{esm2020 → esm2022}/lib/services/modal.service.mjs +15 -15
  127. package/{esm2020 → esm2022}/lib/services/notifications.service.mjs +64 -64
  128. package/{esm2020 → esm2022}/lib/services/profile.service.mjs +103 -103
  129. package/{esm2020 → esm2022}/lib/services/storage.service.mjs +108 -108
  130. package/esm2022/lib/shared/shared.module.mjs +19 -0
  131. package/{esm2020 → esm2022}/lib/utils/cpf-cnpj-validator.util.mjs +115 -115
  132. package/{esm2020 → esm2022}/lib/utils/file.util.mjs +14 -14
  133. package/{esm2020 → esm2022}/lib/utils/index.mjs +7 -7
  134. package/esm2022/lib/utils/mask.util.mjs +76 -0
  135. package/{esm2020 → esm2022}/lib/utils/object.util.mjs +26 -26
  136. package/{esm2020 → esm2022}/lib/utils/string.util.mjs +15 -15
  137. package/{esm2020 → esm2022}/lib/utils/validation.util.mjs +233 -233
  138. package/{esm2020 → esm2022}/lib/utils/window.util.mjs +8 -8
  139. package/{esm2020 → esm2022}/ngx-vector-components.mjs +4 -4
  140. package/{esm2020 → esm2022}/public-api.mjs +8 -8
  141. package/{fesm2020 → fesm2022}/ngx-vector-components.mjs +4577 -4573
  142. package/fesm2022/ngx-vector-components.mjs.map +1 -0
  143. package/{ngx-vector-components.d.ts → index.d.ts} +5 -5
  144. package/lib/components/badge/badge.component.d.ts +15 -15
  145. package/lib/components/badge/badge.module.d.ts +9 -9
  146. package/lib/components/badge/index.d.ts +2 -2
  147. package/lib/components/breadcrumb/breadcrumb.component.d.ts +19 -19
  148. package/lib/components/breadcrumb/breadcrumb.module.d.ts +8 -8
  149. package/lib/components/breadcrumb/index.d.ts +2 -2
  150. package/lib/components/crud-base/crud-base.component.d.ts +20 -20
  151. package/lib/components/crud-base/index.d.ts +1 -1
  152. package/lib/components/crud-footer/crud-footer.component.d.ts +13 -13
  153. package/lib/components/crud-footer/crud-footer.module.d.ts +10 -10
  154. package/lib/components/crud-footer/index.d.ts +2 -2
  155. package/lib/components/crud-header/crud-header.component.d.ts +11 -11
  156. package/lib/components/crud-header/crud-header.module.d.ts +9 -9
  157. package/lib/components/crud-header/index.d.ts +2 -2
  158. package/lib/components/crud-history/crud-history.component.d.ts +12 -12
  159. package/lib/components/crud-history/crud-history.module.d.ts +10 -10
  160. package/lib/components/crud-history/index.d.ts +2 -2
  161. package/lib/components/fields/button/button.component.d.ts +17 -17
  162. package/lib/components/fields/button/index.d.ts +1 -1
  163. package/lib/components/fields/calendar-field/calendar-field.component.d.ts +23 -23
  164. package/lib/components/fields/calendar-field/index.d.ts +1 -1
  165. package/lib/components/fields/checkbox-field/checkbox-field.component.d.ts +19 -19
  166. package/lib/components/fields/checkbox-field/index.d.ts +1 -1
  167. package/lib/components/fields/currency-field/currency-field.component.d.ts +32 -32
  168. package/lib/components/fields/currency-field/index.d.ts +1 -1
  169. package/lib/components/fields/data-table/data-table.component.d.ts +82 -82
  170. package/lib/components/fields/data-table/index.d.ts +1 -1
  171. package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +52 -52
  172. package/lib/components/fields/dropdown-field/index.d.ts +1 -1
  173. package/lib/components/fields/field-error-message/field-error-message.component.d.ts +10 -10
  174. package/lib/components/fields/field-error-message/index.d.ts +1 -1
  175. package/lib/components/fields/fields.module.d.ts +48 -48
  176. package/lib/components/fields/filters/filters.component.d.ts +63 -63
  177. package/lib/components/fields/filters/index.d.ts +1 -1
  178. package/lib/components/fields/index.d.ts +18 -18
  179. package/lib/components/fields/input-number-field/index.d.ts +1 -1
  180. package/lib/components/fields/input-number-field/input-number-field.component.d.ts +28 -28
  181. package/lib/components/fields/multiselect-field/index.d.ts +1 -1
  182. package/lib/components/fields/multiselect-field/multiselect-field.component.d.ts +16 -16
  183. package/lib/components/fields/percentage-field/index.d.ts +1 -1
  184. package/lib/components/fields/percentage-field/percentage-field.component.d.ts +16 -16
  185. package/lib/components/fields/radio-button-field/index.d.ts +1 -1
  186. package/lib/components/fields/radio-button-field/radio-button-field.component.d.ts +25 -25
  187. package/lib/components/fields/range-value/index.d.ts +1 -1
  188. package/lib/components/fields/range-value/range-value.component.d.ts +18 -18
  189. package/lib/components/fields/search-field/index.d.ts +1 -1
  190. package/lib/components/fields/search-field/search-field.component.d.ts +14 -14
  191. package/lib/components/fields/select-button-field/index.d.ts +1 -1
  192. package/lib/components/fields/select-button-field/select-button-field.component.d.ts +9 -9
  193. package/lib/components/fields/text-field/index.d.ts +1 -1
  194. package/lib/components/fields/text-field/text-field.component.d.ts +55 -54
  195. package/lib/components/fields/textarea-field/index.d.ts +1 -1
  196. package/lib/components/fields/textarea-field/textarea-field.component.d.ts +22 -22
  197. package/lib/components/generic-error-modal/generic-error-modal.component.d.ts +16 -15
  198. package/lib/components/generic-error-modal/generic-error-modal.module.d.ts +10 -10
  199. package/lib/components/generic-error-modal/index.d.ts +2 -2
  200. package/lib/components/generic-modal/generic-modal.component.d.ts +24 -24
  201. package/lib/components/generic-modal/generic-modal.module.d.ts +10 -10
  202. package/lib/components/generic-modal/index.d.ts +2 -2
  203. package/lib/components/index.d.ts +13 -13
  204. package/lib/components/menu/index.d.ts +3 -3
  205. package/lib/components/menu/menu.component.d.ts +53 -53
  206. package/lib/components/menu/menu.module.d.ts +10 -10
  207. package/lib/components/menu/sub-menus-list/sub-menus-list.component.d.ts +14 -14
  208. package/lib/components/panel/index.d.ts +2 -2
  209. package/lib/components/panel/panel.component.d.ts +8 -8
  210. package/lib/components/panel/panel.module.d.ts +9 -9
  211. package/lib/components/score/index.d.ts +2 -2
  212. package/lib/components/score/score.component.d.ts +9 -9
  213. package/lib/components/score/score.module.d.ts +7 -7
  214. package/lib/components/top-bar/index.d.ts +2 -2
  215. package/lib/components/top-bar/top-bar.component.d.ts +48 -48
  216. package/lib/components/top-bar/top-bar.module.d.ts +10 -10
  217. package/lib/guards/crud-list-has-items.guard.d.ts +10 -10
  218. package/lib/guards/get-token-by-guid.guard.d.ts +15 -15
  219. package/lib/guards/has-permission.guard.d.ts +13 -13
  220. package/lib/guards/index.d.ts +5 -5
  221. package/lib/guards/role.guard.d.ts +11 -11
  222. package/lib/guards/token-is-present.guard.d.ts +11 -11
  223. package/lib/interceptors/http-interceptor.d.ts +31 -31
  224. package/lib/interceptors/index.d.ts +1 -1
  225. package/lib/models/app-name.enum.d.ts +8 -8
  226. package/lib/models/boolean-type.enum.d.ts +4 -4
  227. package/lib/models/crud-history.model.d.ts +13 -13
  228. package/lib/models/crud-mode.enum.d.ts +5 -5
  229. package/lib/models/currency.enum.d.ts +5 -5
  230. package/lib/models/data-table.model.d.ts +65 -65
  231. package/lib/models/document-type.enum.d.ts +4 -4
  232. package/lib/models/filters.model.d.ts +4 -4
  233. package/lib/models/generic-modal.model.d.ts +13 -13
  234. package/lib/models/http-response.model.d.ts +48 -48
  235. package/lib/models/index.d.ts +17 -17
  236. package/lib/models/ip-info.enum.d.ts +6 -6
  237. package/lib/models/list-item.model.d.ts +7 -7
  238. package/lib/models/locale.enum.d.ts +5 -5
  239. package/lib/models/menu-item.model.d.ts +16 -16
  240. package/lib/models/message-status.enum.d.ts +6 -6
  241. package/lib/models/profile.model.d.ts +292 -292
  242. package/lib/models/role.enum.d.ts +3 -3
  243. package/lib/models/status.enum.d.ts +6 -6
  244. package/lib/models/topbar.model.d.ts +5 -5
  245. package/lib/models/vector-app.model.d.ts +9 -9
  246. package/lib/models/vector-notification.model.d.ts +8 -8
  247. package/lib/models/view.enum.d.ts +5 -5
  248. package/lib/pipes/currency-brl.pipe.d.ts +7 -7
  249. package/lib/pipes/format-document.pipe.d.ts +7 -7
  250. package/lib/pipes/index.d.ts +8 -8
  251. package/lib/pipes/mask.pipe.d.ts +7 -7
  252. package/lib/pipes/not-hidden.pipe.d.ts +7 -7
  253. package/lib/pipes/only-active.pipe.d.ts +7 -7
  254. package/lib/pipes/pipes.module.d.ts +13 -13
  255. package/lib/pipes/remove-last-child.pipe.d.ts +7 -7
  256. package/lib/pipes/unread-notifications.pipe.d.ts +9 -9
  257. package/lib/resolvers/get-selected-crud-item.resolver.d.ts +10 -10
  258. package/lib/resolvers/index.d.ts +1 -1
  259. package/lib/services/auth.service.d.ts +24 -24
  260. package/lib/services/base-dropdown.d.ts +7 -7
  261. package/lib/services/crud-base.service.d.ts +7 -7
  262. package/lib/services/enum.service.d.ts +13 -13
  263. package/lib/services/error-message.service.d.ts +8 -8
  264. package/lib/services/geolocation.service.d.ts +13 -13
  265. package/lib/services/index.d.ts +12 -12
  266. package/lib/services/loading.service.d.ts +7 -7
  267. package/lib/services/menu.service.d.ts +35 -35
  268. package/lib/services/modal.service.d.ts +7 -7
  269. package/lib/services/notifications.service.d.ts +13 -13
  270. package/lib/services/profile.service.d.ts +26 -26
  271. package/lib/services/storage.service.d.ts +43 -43
  272. package/lib/shared/shared.module.d.ts +10 -10
  273. package/lib/utils/cpf-cnpj-validator.util.d.ts +5 -5
  274. package/lib/utils/file.util.d.ts +4 -4
  275. package/lib/utils/index.d.ts +7 -7
  276. package/lib/utils/mask.util.d.ts +21 -21
  277. package/lib/utils/object.util.d.ts +5 -5
  278. package/lib/utils/string.util.d.ts +4 -4
  279. package/lib/utils/validation.util.d.ts +17 -17
  280. package/lib/utils/window.util.d.ts +4 -4
  281. package/package.json +18 -24
  282. package/public-api.d.ts +8 -8
  283. package/esm2020/lib/components/badge/badge.module.mjs +0 -19
  284. package/esm2020/lib/components/breadcrumb/breadcrumb.module.mjs +0 -18
  285. package/esm2020/lib/components/crud-base/crud-base.component.mjs +0 -47
  286. package/esm2020/lib/components/crud-footer/crud-footer.module.mjs +0 -20
  287. package/esm2020/lib/components/crud-header/crud-header.component.mjs +0 -30
  288. package/esm2020/lib/components/crud-header/crud-header.module.mjs +0 -19
  289. package/esm2020/lib/components/crud-history/crud-history.module.mjs +0 -20
  290. package/esm2020/lib/components/fields/data-table/data-table.component.mjs +0 -386
  291. package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +0 -204
  292. package/esm2020/lib/components/fields/fields.module.mjs +0 -213
  293. package/esm2020/lib/components/fields/filters/filters.component.mjs +0 -203
  294. package/esm2020/lib/components/fields/search-field/search-field.component.mjs +0 -33
  295. package/esm2020/lib/components/fields/text-field/text-field.component.mjs +0 -229
  296. package/esm2020/lib/components/generic-error-modal/generic-error-modal.component.mjs +0 -36
  297. package/esm2020/lib/components/generic-error-modal/generic-error-modal.module.mjs +0 -20
  298. package/esm2020/lib/components/generic-modal/generic-modal.module.mjs +0 -20
  299. package/esm2020/lib/components/menu/menu.component.mjs +0 -305
  300. package/esm2020/lib/components/menu/menu.module.mjs +0 -20
  301. package/esm2020/lib/components/panel/panel.module.mjs +0 -19
  302. package/esm2020/lib/components/top-bar/top-bar.module.mjs +0 -20
  303. package/esm2020/lib/shared/shared.module.mjs +0 -19
  304. package/esm2020/lib/utils/mask.util.mjs +0 -76
  305. package/fesm2015/ngx-vector-components.mjs +0 -4805
  306. package/fesm2015/ngx-vector-components.mjs.map +0 -1
  307. package/fesm2020/ngx-vector-components.mjs.map +0 -1
@@ -1,234 +1,234 @@
1
- import { ObjectUtil } from './object.util';
2
- export class ValidationUtil {
3
- static email(control) {
4
- const email = control.value;
5
- if (!email || email === '') {
6
- return null;
7
- }
8
- if (!email.match(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/) ||
9
- email.match(/['`~!#%^&*()|+¨=?;:'´",<>\{\}\[\]\\\/]/gi)) {
10
- return {
11
- email: true,
12
- };
13
- }
14
- return null;
15
- }
16
- static fullName(control) {
17
- const name = control.value;
18
- if (!name) {
19
- return null;
20
- }
21
- const splittedName = name
22
- .trim()
23
- .split(' ')
24
- .map((namePart) => namePart.trim());
25
- if (splittedName.length < 2) {
26
- return { invalid: 'Deve conter pelo menos um nome e sobrenome.' };
27
- }
28
- return null;
29
- }
30
- static noMultipleWhitespace(control) {
31
- const name = control.value;
32
- if (name) {
33
- if (!name.match(/^([a-zA-ZÀ-ú0-9]+\s)*[a-zA-ZÀ-ú0-9]+$/)) {
34
- return { haveWhiteSpace: true };
35
- }
36
- }
37
- return null;
38
- }
39
- static isValidTaxId(control) {
40
- if (!control.value) {
41
- return null;
42
- }
43
- if (control.value.length === 11) {
44
- return ValidationUtil.isValidCpf(control);
45
- }
46
- if (control.value.length === 14) {
47
- return ValidationUtil.isValidCnpj(control);
48
- }
49
- return null;
50
- }
51
- static isValidCpf(control) {
52
- const cpf = control.value;
53
- if (cpf) {
54
- let numbers, digits, sum, i, result, equalDigits;
55
- equalDigits = 1;
56
- if (cpf.length < 11) {
57
- return null;
58
- }
59
- for (i = 0; i < cpf.length - 1; i++) {
60
- if (cpf.charAt(i) !== cpf.charAt(i + 1)) {
61
- equalDigits = 0;
62
- break;
63
- }
64
- }
65
- if (!equalDigits) {
66
- numbers = cpf.substring(0, 9);
67
- digits = cpf.substring(9);
68
- sum = 0;
69
- for (i = 10; i > 1; i--) {
70
- sum += numbers.charAt(10 - i) * i;
71
- }
72
- result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
73
- if (result !== Number(digits.charAt(0))) {
74
- return { cpfNotValid: true };
75
- }
76
- numbers = cpf.substring(0, 10);
77
- sum = 0;
78
- for (i = 11; i > 1; i--) {
79
- sum += numbers.charAt(11 - i) * i;
80
- }
81
- result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
82
- if (result !== Number(digits.charAt(1))) {
83
- return { cpfNotValid: true };
84
- }
85
- return null;
86
- }
87
- else {
88
- return { cpfNotValid: true };
89
- }
90
- }
91
- return null;
92
- }
93
- static isValidCnpj(control) {
94
- let cnpj = control.value;
95
- cnpj = cnpj.replace(/[^\d]+/g, '');
96
- if (/^(\d)\1+$/.test(cnpj)) {
97
- return { cnpjNotValid: true };
98
- }
99
- let t = cnpj.length - 2, d = cnpj.substring(t), d1 = parseInt(d.charAt(0)), d2 = parseInt(d.charAt(1)), calc = (x) => {
100
- let n = cnpj.substring(0, x), y = x - 7, s = 0, r = 0;
101
- for (let i = x; i >= 1; i--) {
102
- s += n.charAt(x - i) * y--;
103
- if (y < 2)
104
- y = 9;
105
- }
106
- r = 11 - (s % 11);
107
- return r > 9 ? 0 : r;
108
- };
109
- if (calc(t) === d1 && calc(t + 1) === d2) {
110
- return null;
111
- }
112
- else {
113
- return { cnpjNotValid: true };
114
- }
115
- }
116
- static majorAge(control) {
117
- if (!control.value) {
118
- return null;
119
- }
120
- const age = ~~((Date.now() - control.value) / 31557600000);
121
- if (age < 18) {
122
- return { isNotMajorAge: true };
123
- }
124
- return null;
125
- }
126
- static matchField(anotherField) {
127
- const validator = (control) => {
128
- if (!control.value || !anotherField?.value) {
129
- return null;
130
- }
131
- if (control.value !== anotherField?.value) {
132
- return { fieldDoesNotMatch: true };
133
- }
134
- return null;
135
- };
136
- return validator;
137
- }
138
- static cellphone(control) {
139
- if (!control.value || control.value.length < 11) {
140
- return null;
141
- }
142
- const firstNumber = control.value.substring(2, 3);
143
- if (firstNumber != '9') {
144
- return { cellphoneInvalid: true };
145
- }
146
- return null;
147
- }
148
- static lowerThanOrEqualTo(greaterControlName) {
149
- const validator = (control) => {
150
- const lowerValue = control.value;
151
- const greaterValue = control.parent?.get(greaterControlName)?.value;
152
- if (!control.parent?.get(greaterControlName)) {
153
- console.log(`Control with name ${greaterControlName} not registered`);
154
- return {};
155
- }
156
- if (ObjectUtil.isValid(lowerValue) &&
157
- ObjectUtil.isValid(greaterValue) &&
158
- lowerValue !== '' &&
159
- greaterValue !== '' &&
160
- +lowerValue > +greaterValue) {
161
- return {
162
- invalid: 'Valor mínimo deve ser menor ou igual ao valor máximo',
163
- };
164
- }
165
- return {};
166
- };
167
- return validator;
168
- }
169
- static greaterThanOrEqualTo(lowerControlName) {
170
- const validator = (control) => {
171
- const greaterValue = control.value;
172
- const lowerValue = control.parent?.get(lowerControlName)?.value;
173
- if (!control.parent?.get(lowerControlName)) {
174
- console.log(`Control with name ${lowerControlName} not registered`);
175
- return {};
176
- }
177
- if (ObjectUtil.isValid(lowerValue) &&
178
- ObjectUtil.isValid(greaterValue) &&
179
- lowerValue !== '' &&
180
- greaterValue !== '' &&
181
- +lowerValue > +greaterValue) {
182
- return {
183
- invalid: 'Valor máximo deve ser maior ou igual ao valor mínimo',
184
- };
185
- }
186
- return {};
187
- };
188
- return validator;
189
- }
190
- static notSequentialNumbers(length) {
191
- const validator = (control) => {
192
- const controlValue = control.value;
193
- const sequentialNumbers = '01234567890123456789';
194
- if (controlValue) {
195
- if (controlValue.length === length) {
196
- if (~sequentialNumbers.indexOf(control.value)) {
197
- return { isSequential: true };
198
- }
199
- else if (!!controlValue.match(/^(\d)\1+$/)) {
200
- return { isSequential: true };
201
- }
202
- else {
203
- return null;
204
- }
205
- }
206
- }
207
- return null;
208
- };
209
- return validator;
210
- }
211
- static firstLetterIsUppercase(control) {
212
- const controlValue = control.value;
213
- const regex = /^([A-ZÀ-Ú][a-zà-ú]*)(?:\s+([A-ZÀ-Ú][a-zà-ú]*))*$/;
214
- if (!!controlValue) {
215
- if (!controlValue.match(regex)) {
216
- return { invalidField: true };
217
- }
218
- return null;
219
- }
220
- return null;
221
- }
222
- static containsLettersAndNumbers(control) {
223
- const controlValue = control.value;
224
- const regex = /^(?=.*[0-9])(?=.*[A-z])([A-z0-9_-]+)$/;
225
- if (!!controlValue) {
226
- if (!!!controlValue.match(regex)) {
227
- return { isNotAlphaNumeric: true };
228
- }
229
- return null;
230
- }
231
- return null;
232
- }
233
- }
1
+ import { ObjectUtil } from './object.util';
2
+ export class ValidationUtil {
3
+ static email(control) {
4
+ const email = control.value;
5
+ if (!email || email === '') {
6
+ return null;
7
+ }
8
+ if (!email.match(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/) ||
9
+ email.match(/['`~!#%^&*()|+¨=?;:'´",<>\{\}\[\]\\\/]/gi)) {
10
+ return {
11
+ email: true,
12
+ };
13
+ }
14
+ return null;
15
+ }
16
+ static fullName(control) {
17
+ const name = control.value;
18
+ if (!name) {
19
+ return null;
20
+ }
21
+ const splittedName = name
22
+ .trim()
23
+ .split(' ')
24
+ .map((namePart) => namePart.trim());
25
+ if (splittedName.length < 2) {
26
+ return { invalid: 'Deve conter pelo menos um nome e sobrenome.' };
27
+ }
28
+ return null;
29
+ }
30
+ static noMultipleWhitespace(control) {
31
+ const name = control.value;
32
+ if (name) {
33
+ if (!name.match(/^([a-zA-ZÀ-ú0-9]+\s)*[a-zA-ZÀ-ú0-9]+$/)) {
34
+ return { haveWhiteSpace: true };
35
+ }
36
+ }
37
+ return null;
38
+ }
39
+ static isValidTaxId(control) {
40
+ if (!control.value) {
41
+ return null;
42
+ }
43
+ if (control.value.length === 11) {
44
+ return ValidationUtil.isValidCpf(control);
45
+ }
46
+ if (control.value.length === 14) {
47
+ return ValidationUtil.isValidCnpj(control);
48
+ }
49
+ return null;
50
+ }
51
+ static isValidCpf(control) {
52
+ const cpf = control.value;
53
+ if (cpf) {
54
+ let numbers, digits, sum, i, result, equalDigits;
55
+ equalDigits = 1;
56
+ if (cpf.length < 11) {
57
+ return null;
58
+ }
59
+ for (i = 0; i < cpf.length - 1; i++) {
60
+ if (cpf.charAt(i) !== cpf.charAt(i + 1)) {
61
+ equalDigits = 0;
62
+ break;
63
+ }
64
+ }
65
+ if (!equalDigits) {
66
+ numbers = cpf.substring(0, 9);
67
+ digits = cpf.substring(9);
68
+ sum = 0;
69
+ for (i = 10; i > 1; i--) {
70
+ sum += numbers.charAt(10 - i) * i;
71
+ }
72
+ result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
73
+ if (result !== Number(digits.charAt(0))) {
74
+ return { cpfNotValid: true };
75
+ }
76
+ numbers = cpf.substring(0, 10);
77
+ sum = 0;
78
+ for (i = 11; i > 1; i--) {
79
+ sum += numbers.charAt(11 - i) * i;
80
+ }
81
+ result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
82
+ if (result !== Number(digits.charAt(1))) {
83
+ return { cpfNotValid: true };
84
+ }
85
+ return null;
86
+ }
87
+ else {
88
+ return { cpfNotValid: true };
89
+ }
90
+ }
91
+ return null;
92
+ }
93
+ static isValidCnpj(control) {
94
+ let cnpj = control.value;
95
+ cnpj = cnpj.replace(/[^\d]+/g, '');
96
+ if (/^(\d)\1+$/.test(cnpj)) {
97
+ return { cnpjNotValid: true };
98
+ }
99
+ let t = cnpj.length - 2, d = cnpj.substring(t), d1 = parseInt(d.charAt(0)), d2 = parseInt(d.charAt(1)), calc = (x) => {
100
+ let n = cnpj.substring(0, x), y = x - 7, s = 0, r = 0;
101
+ for (let i = x; i >= 1; i--) {
102
+ s += n.charAt(x - i) * y--;
103
+ if (y < 2)
104
+ y = 9;
105
+ }
106
+ r = 11 - (s % 11);
107
+ return r > 9 ? 0 : r;
108
+ };
109
+ if (calc(t) === d1 && calc(t + 1) === d2) {
110
+ return null;
111
+ }
112
+ else {
113
+ return { cnpjNotValid: true };
114
+ }
115
+ }
116
+ static majorAge(control) {
117
+ if (!control.value) {
118
+ return null;
119
+ }
120
+ const age = ~~((Date.now() - control.value) / 31557600000);
121
+ if (age < 18) {
122
+ return { isNotMajorAge: true };
123
+ }
124
+ return null;
125
+ }
126
+ static matchField(anotherField) {
127
+ const validator = (control) => {
128
+ if (!control.value || !anotherField?.value) {
129
+ return null;
130
+ }
131
+ if (control.value !== anotherField?.value) {
132
+ return { fieldDoesNotMatch: true };
133
+ }
134
+ return null;
135
+ };
136
+ return validator;
137
+ }
138
+ static cellphone(control) {
139
+ if (!control.value || control.value.length < 11) {
140
+ return null;
141
+ }
142
+ const firstNumber = control.value.substring(2, 3);
143
+ if (firstNumber != '9') {
144
+ return { cellphoneInvalid: true };
145
+ }
146
+ return null;
147
+ }
148
+ static lowerThanOrEqualTo(greaterControlName) {
149
+ const validator = (control) => {
150
+ const lowerValue = control.value;
151
+ const greaterValue = control.parent?.get(greaterControlName)?.value;
152
+ if (!control.parent?.get(greaterControlName)) {
153
+ console.log(`Control with name ${greaterControlName} not registered`);
154
+ return {};
155
+ }
156
+ if (ObjectUtil.isValid(lowerValue) &&
157
+ ObjectUtil.isValid(greaterValue) &&
158
+ lowerValue !== '' &&
159
+ greaterValue !== '' &&
160
+ +lowerValue > +greaterValue) {
161
+ return {
162
+ invalid: 'Valor mínimo deve ser menor ou igual ao valor máximo',
163
+ };
164
+ }
165
+ return {};
166
+ };
167
+ return validator;
168
+ }
169
+ static greaterThanOrEqualTo(lowerControlName) {
170
+ const validator = (control) => {
171
+ const greaterValue = control.value;
172
+ const lowerValue = control.parent?.get(lowerControlName)?.value;
173
+ if (!control.parent?.get(lowerControlName)) {
174
+ console.log(`Control with name ${lowerControlName} not registered`);
175
+ return {};
176
+ }
177
+ if (ObjectUtil.isValid(lowerValue) &&
178
+ ObjectUtil.isValid(greaterValue) &&
179
+ lowerValue !== '' &&
180
+ greaterValue !== '' &&
181
+ +lowerValue > +greaterValue) {
182
+ return {
183
+ invalid: 'Valor máximo deve ser maior ou igual ao valor mínimo',
184
+ };
185
+ }
186
+ return {};
187
+ };
188
+ return validator;
189
+ }
190
+ static notSequentialNumbers(length) {
191
+ const validator = (control) => {
192
+ const controlValue = control.value;
193
+ const sequentialNumbers = '01234567890123456789';
194
+ if (controlValue) {
195
+ if (controlValue.length === length) {
196
+ if (~sequentialNumbers.indexOf(control.value)) {
197
+ return { isSequential: true };
198
+ }
199
+ else if (!!controlValue.match(/^(\d)\1+$/)) {
200
+ return { isSequential: true };
201
+ }
202
+ else {
203
+ return null;
204
+ }
205
+ }
206
+ }
207
+ return null;
208
+ };
209
+ return validator;
210
+ }
211
+ static firstLetterIsUppercase(control) {
212
+ const controlValue = control.value;
213
+ const regex = /^([A-ZÀ-Ú][a-zà-ú]*)(?:\s+([A-ZÀ-Ú][a-zà-ú]*))*$/;
214
+ if (!!controlValue) {
215
+ if (!controlValue.match(regex)) {
216
+ return { invalidField: true };
217
+ }
218
+ return null;
219
+ }
220
+ return null;
221
+ }
222
+ static containsLettersAndNumbers(control) {
223
+ const controlValue = control.value;
224
+ const regex = /^(?=.*[0-9])(?=.*[A-z])([A-z0-9_-]+)$/;
225
+ if (!!controlValue) {
226
+ if (!!!controlValue.match(regex)) {
227
+ return { isNotAlphaNumeric: true };
228
+ }
229
+ return null;
230
+ }
231
+ return null;
232
+ }
233
+ }
234
234
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvdXRpbHMvdmFsaWRhdGlvbi51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxPQUFPLGNBQWM7SUFDbEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUF3QjtRQUMxQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBZSxDQUFDO1FBRXRDLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFDRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsbURBQW1ELENBQUM7WUFDakUsS0FBSyxDQUFDLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxFQUN2RDtZQUNBLE9BQU87Z0JBQ0wsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQXdCO1FBQzdDLE1BQU0sSUFBSSxHQUFXLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJO2FBQ3RCLElBQUksRUFBRTthQUNOLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXRDLElBQUksWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDM0IsT0FBTyxFQUFFLE9BQU8sRUFBRSw2Q0FBNkMsRUFBRSxDQUFDO1NBQ25FO1FBQ0Qs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QjtZQUNELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxNQUFNLENBQUMseUJBQXlCLENBQUMsT0FBd0I7UUFDOUQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQWUsQ0FBQztRQUM3QyxNQUFNLEtBQUssR0FBRyx1Q0FBdUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUU7WUFDbEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNoQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDcEM7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi9vYmplY3QudXRpbCc7XHJcblxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvblV0aWwge1xyXG4gIHB1YmxpYyBzdGF0aWMgZW1haWwoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgY29uc3QgZW1haWwgPSBjb250cm9sLnZhbHVlIGFzIHN0cmluZztcclxuXHJcbiAgICBpZiAoIWVtYWlsIHx8IGVtYWlsID09PSAnJykge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgICFlbWFpbC5tYXRjaCgvXlthLXpBLVowLTkuXyUrLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Miw0fSQvKSB8fFxyXG4gICAgICBlbWFpbC5tYXRjaCgvWydgfiEjJV4mKigpfCvCqD0/OzonwrRcIiw8Plxce1xcfVxcW1xcXVxcXFxcXC9dL2dpKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgZW1haWw6IHRydWUsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZ1bGxOYW1lKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGNvbnN0IG5hbWU6IHN0cmluZyA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICBpZiAoIW5hbWUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3BsaXR0ZWROYW1lID0gbmFtZVxyXG4gICAgICAudHJpbSgpXHJcbiAgICAgIC5zcGxpdCgnICcpXHJcbiAgICAgIC5tYXAoKG5hbWVQYXJ0KSA9PiBuYW1lUGFydC50cmltKCkpO1xyXG5cclxuICAgIGlmIChzcGxpdHRlZE5hbWUubGVuZ3RoIDwgMikge1xyXG4gICAgICByZXR1cm4geyBpbnZhbGlkOiAnRGV2ZSBjb250ZXIgcGVsbyBtZW5vcyB1bSBub21lIGUgc29icmVub21lLicgfTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBub011bHRpcGxlV2hpdGVzcGFjZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBjb25zdCBuYW1lOiBzdHJpbmcgPSBjb250cm9sLnZhbHVlO1xyXG5cclxuICAgIGlmIChuYW1lKSB7XHJcbiAgICAgIGlmICghbmFtZS5tYXRjaCgvXihbYS16QS1aw4Atw7owLTldK1xccykqW2EtekEtWsOALcO6MC05XSskLykpIHtcclxuICAgICAgICByZXR1cm4geyBoYXZlV2hpdGVTcGFjZTogdHJ1ZSB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNWYWxpZFRheElkKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGlmICghY29udHJvbC52YWx1ZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29udHJvbC52YWx1ZS5sZW5ndGggPT09IDExKSB7XHJcbiAgICAgIHJldHVybiBWYWxpZGF0aW9uVXRpbC5pc1ZhbGlkQ3BmKGNvbnRyb2wpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNvbnRyb2wudmFsdWUubGVuZ3RoID09PSAxNCkge1xyXG4gICAgICByZXR1cm4gVmFsaWRhdGlvblV0aWwuaXNWYWxpZENucGooY29udHJvbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGlzVmFsaWRDcGYoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgY29uc3QgY3BmID0gY29udHJvbC52YWx1ZTtcclxuICAgIGlmIChjcGYpIHtcclxuICAgICAgbGV0IG51bWJlcnMsIGRpZ2l0cywgc3VtLCBpLCByZXN1bHQsIGVxdWFsRGlnaXRzO1xyXG4gICAgICBlcXVhbERpZ2l0cyA9IDE7XHJcbiAgICAgIGlmIChjcGYubGVuZ3RoIDwgMTEpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG5cclxuICAgICAgZm9yIChpID0gMDsgaSA8IGNwZi5sZW5ndGggLSAxOyBpKyspIHtcclxuICAgICAgICBpZiAoY3BmLmNoYXJBdChpKSAhPT0gY3BmLmNoYXJBdChpICsgMSkpIHtcclxuICAgICAgICAgIGVxdWFsRGlnaXRzID0gMDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCFlcXVhbERpZ2l0cykge1xyXG4gICAgICAgIG51bWJlcnMgPSBjcGYuc3Vic3RyaW5nKDAsIDkpO1xyXG4gICAgICAgIGRpZ2l0cyA9IGNwZi5zdWJzdHJpbmcoOSk7XHJcbiAgICAgICAgc3VtID0gMDtcclxuICAgICAgICBmb3IgKGkgPSAxMDsgaSA+IDE7IGktLSkge1xyXG4gICAgICAgICAgc3VtICs9IG51bWJlcnMuY2hhckF0KDEwIC0gaSkgKiBpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmVzdWx0ID0gc3VtICUgMTEgPCAyID8gMCA6IDExIC0gKHN1bSAlIDExKTtcclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdCAhPT0gTnVtYmVyKGRpZ2l0cy5jaGFyQXQoMCkpKSB7XHJcbiAgICAgICAgICByZXR1cm4geyBjcGZOb3RWYWxpZDogdHJ1ZSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBudW1iZXJzID0gY3BmLnN1YnN0cmluZygwLCAxMCk7XHJcbiAgICAgICAgc3VtID0gMDtcclxuXHJcbiAgICAgICAgZm9yIChpID0gMTE7IGkgPiAxOyBpLS0pIHtcclxuICAgICAgICAgIHN1bSArPSBudW1iZXJzLmNoYXJBdCgxMSAtIGkpICogaTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0ID0gc3VtICUgMTEgPCAyID8gMCA6IDExIC0gKHN1bSAlIDExKTtcclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdCAhPT0gTnVtYmVyKGRpZ2l0cy5jaGFyQXQoMSkpKSB7XHJcbiAgICAgICAgICByZXR1cm4geyBjcGZOb3RWYWxpZDogdHJ1ZSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4geyBjcGZOb3RWYWxpZDogdHJ1ZSB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNWYWxpZENucGooY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgbGV0IGNucGogPSBjb250cm9sLnZhbHVlO1xyXG4gICAgY25waiA9IGNucGoucmVwbGFjZSgvW15cXGRdKy9nLCAnJyk7XHJcbiAgICBpZiAoL14oXFxkKVxcMSskLy50ZXN0KGNucGopKSB7XHJcbiAgICAgIHJldHVybiB7IGNucGpOb3RWYWxpZDogdHJ1ZSB9O1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB0ID0gY25wai5sZW5ndGggLSAyLFxyXG4gICAgICBkID0gY25wai5zdWJzdHJpbmcodCksXHJcbiAgICAgIGQxID0gcGFyc2VJbnQoZC5jaGFyQXQoMCkpLFxyXG4gICAgICBkMiA9IHBhcnNlSW50KGQuY2hhckF0KDEpKSxcclxuICAgICAgY2FsYyA9ICh4OiBudW1iZXIpID0+IHtcclxuICAgICAgICBsZXQgbiA9IGNucGouc3Vic3RyaW5nKDAsIHgpLFxyXG4gICAgICAgICAgeSA9IHggLSA3LFxyXG4gICAgICAgICAgcyA9IDAsXHJcbiAgICAgICAgICByID0gMDtcclxuICAgICAgICBmb3IgKGxldCBpID0geDsgaSA+PSAxOyBpLS0pIHtcclxuICAgICAgICAgIHMgKz0gbi5jaGFyQXQoeCAtIGkpICogeS0tO1xyXG4gICAgICAgICAgaWYgKHkgPCAyKSB5ID0gOTtcclxuICAgICAgICB9XHJcbiAgICAgICAgciA9IDExIC0gKHMgJSAxMSk7XHJcbiAgICAgICAgcmV0dXJuIHIgPiA5ID8gMCA6IHI7XHJcbiAgICAgIH07XHJcbiAgICBpZiAoY2FsYyh0KSA9PT0gZDEgJiYgY2FsYyh0ICsgMSkgPT09IGQyKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHsgY25wak5vdFZhbGlkOiB0cnVlIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIG1ham9yQWdlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGlmICghY29udHJvbC52YWx1ZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IGFnZSA9IH5+KChEYXRlLm5vdygpIC0gY29udHJvbC52YWx1ZSkgLyAzMTU1NzYwMDAwMCk7XHJcblxyXG4gICAgaWYgKGFnZSA8IDE4KSB7XHJcbiAgICAgIHJldHVybiB7IGlzTm90TWFqb3JBZ2U6IHRydWUgfTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBtYXRjaEZpZWxkKGFub3RoZXJGaWVsZDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCk6IFZhbGlkYXRvckZuIHtcclxuICAgIGNvbnN0IHZhbGlkYXRvciA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcclxuICAgICAgaWYgKCFjb250cm9sLnZhbHVlIHx8ICFhbm90aGVyRmllbGQ/LnZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbnRyb2wudmFsdWUgIT09IGFub3RoZXJGaWVsZD8udmFsdWUpIHtcclxuICAgICAgICByZXR1cm4geyBmaWVsZERvZXNOb3RNYXRjaDogdHJ1ZSB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBjZWxscGhvbmUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgaWYgKCFjb250cm9sLnZhbHVlIHx8IGNvbnRyb2wudmFsdWUubGVuZ3RoIDwgMTEpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZmlyc3ROdW1iZXIgPSBjb250cm9sLnZhbHVlLnN1YnN0cmluZygyLCAzKTtcclxuXHJcbiAgICBpZiAoZmlyc3ROdW1iZXIgIT0gJzknKSB7XHJcbiAgICAgIHJldHVybiB7IGNlbGxwaG9uZUludmFsaWQ6IHRydWUgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgbG93ZXJUaGFuT3JFcXVhbFRvKGdyZWF0ZXJDb250cm9sTmFtZTogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xyXG4gICAgICBjb25zdCBsb3dlclZhbHVlID0gY29udHJvbC52YWx1ZTtcclxuICAgICAgY29uc3QgZ3JlYXRlclZhbHVlID0gY29udHJvbC5wYXJlbnQ/LmdldChncmVhdGVyQ29udHJvbE5hbWUpPy52YWx1ZTtcclxuICAgICAgaWYgKCFjb250cm9sLnBhcmVudD8uZ2V0KGdyZWF0ZXJDb250cm9sTmFtZSkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhgQ29udHJvbCB3aXRoIG5hbWUgJHtncmVhdGVyQ29udHJvbE5hbWV9IG5vdCByZWdpc3RlcmVkYCk7XHJcbiAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChcclxuICAgICAgICBPYmplY3RVdGlsLmlzVmFsaWQobG93ZXJWYWx1ZSkgJiZcclxuICAgICAgICBPYmplY3RVdGlsLmlzVmFsaWQoZ3JlYXRlclZhbHVlKSAmJlxyXG4gICAgICAgIGxvd2VyVmFsdWUgIT09ICcnICYmXHJcbiAgICAgICAgZ3JlYXRlclZhbHVlICE9PSAnJyAmJlxyXG4gICAgICAgICtsb3dlclZhbHVlID4gK2dyZWF0ZXJWYWx1ZVxyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaW52YWxpZDogJ1ZhbG9yIG3DrW5pbW8gZGV2ZSBzZXIgbWVub3Igb3UgaWd1YWwgYW8gdmFsb3IgbcOheGltbycsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4ge307XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHZhbGlkYXRvcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ3JlYXRlclRoYW5PckVxdWFsVG8obG93ZXJDb250cm9sTmFtZTogc3RyaW5nKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xyXG4gICAgICBjb25zdCBncmVhdGVyVmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICBjb25zdCBsb3dlclZhbHVlID0gY29udHJvbC5wYXJlbnQ/LmdldChsb3dlckNvbnRyb2xOYW1lKT8udmFsdWU7XHJcbiAgICAgIGlmICghY29udHJvbC5wYXJlbnQ/LmdldChsb3dlckNvbnRyb2xOYW1lKSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGBDb250cm9sIHdpdGggbmFtZSAke2xvd2VyQ29udHJvbE5hbWV9IG5vdCByZWdpc3RlcmVkYCk7XHJcbiAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChcclxuICAgICAgICBPYmplY3RVdGlsLmlzVmFsaWQobG93ZXJWYWx1ZSkgJiZcclxuICAgICAgICBPYmplY3RVdGlsLmlzVmFsaWQoZ3JlYXRlclZhbHVlKSAmJlxyXG4gICAgICAgIGxvd2VyVmFsdWUgIT09ICcnICYmXHJcbiAgICAgICAgZ3JlYXRlclZhbHVlICE9PSAnJyAmJlxyXG4gICAgICAgICtsb3dlclZhbHVlID4gK2dyZWF0ZXJWYWx1ZVxyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaW52YWxpZDogJ1ZhbG9yIG3DoXhpbW8gZGV2ZSBzZXIgbWFpb3Igb3UgaWd1YWwgYW8gdmFsb3IgbcOtbmltbycsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4ge307XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHZhbGlkYXRvcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgbm90U2VxdWVudGlhbE51bWJlcnMobGVuZ3RoOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9sVmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICBjb25zdCBzZXF1ZW50aWFsTnVtYmVycyA9ICcwMTIzNDU2Nzg5MDEyMzQ1Njc4OSc7XHJcblxyXG4gICAgICBpZiAoY29udHJvbFZhbHVlKSB7XHJcbiAgICAgICAgaWYgKGNvbnRyb2xWYWx1ZS5sZW5ndGggPT09IGxlbmd0aCkge1xyXG4gICAgICAgICAgaWYgKH5zZXF1ZW50aWFsTnVtYmVycy5pbmRleE9mKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IGlzU2VxdWVudGlhbDogdHJ1ZSB9O1xyXG4gICAgICAgICAgfSBlbHNlIGlmICghIWNvbnRyb2xWYWx1ZS5tYXRjaCgvXihcXGQpXFwxKyQvKSkge1xyXG4gICAgICAgICAgICByZXR1cm4geyBpc1NlcXVlbnRpYWw6IHRydWUgfTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmaXJzdExldHRlcklzVXBwZXJjYXNlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGNvbnRyb2wudmFsdWUgYXMgc3RyaW5nO1xyXG4gICAgY29uc3QgcmVnZXggPSAvXihbQS1aw4Atw5pdW2EtesOgLcO6XSopKD86XFxzKyhbQS1aw4Atw5pdW2EtesOgLcO6XSopKSokLztcclxuXHJcbiAgICBpZiAoISFjb250cm9sVmFsdWUpIHtcclxuICAgICAgaWYgKCFjb250cm9sVmFsdWUubWF0Y2gocmVnZXgpKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgaW52YWxpZEZpZWxkOiB0cnVlIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY29udGFpbnNMZXR0ZXJzQW5kTnVtYmVycyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICBjb25zdCBjb250cm9sVmFsdWUgPSBjb250cm9sLnZhbHVlIGFzIHN0cmluZztcclxuICAgIGNvbnN0IHJlZ2V4ID0gL14oPz0uKlswLTldKSg/PS4qW0Etel0pKFtBLXowLTlfLV0rKSQvO1xyXG5cclxuICAgIGlmICghIWNvbnRyb2xWYWx1ZSkge1xyXG4gICAgICBpZiAoISEhY29udHJvbFZhbHVlLm1hdGNoKHJlZ2V4KSkge1xyXG4gICAgICAgIHJldHVybiB7IGlzTm90QWxwaGFOdW1lcmljOiB0cnVlIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
@@ -1,9 +1,9 @@
1
- export class WindowUtil {
2
- static isSmallDevice() {
3
- return window.innerWidth < 640;
4
- }
5
- static isDesktop() {
6
- return window.innerWidth >= 1024;
7
- }
8
- }
1
+ export class WindowUtil {
2
+ static isSmallDevice() {
3
+ return window.innerWidth < 640;
4
+ }
5
+ static isDesktop() {
6
+ return window.innerWidth >= 1024;
7
+ }
8
+ }
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi91dGlscy93aW5kb3cudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNyQixNQUFNLENBQUMsYUFBYTtRQUNsQixPQUFPLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxNQUFNLENBQUMsU0FBUztRQUNkLE9BQU8sTUFBTSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7SUFDbkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFdpbmRvd1V0aWwge1xyXG4gIHN0YXRpYyBpc1NtYWxsRGV2aWNlKCkge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDwgNjQwO1xyXG4gIH1cclxuICBzdGF0aWMgaXNEZXNrdG9wKCkge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoID49IDEwMjQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZlY3Rvci1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,9 +1,9 @@
1
- export * from './lib/components';
2
- export * from './lib/guards';
3
- export * from './lib/interceptors';
4
- export * from './lib/models';
5
- export * from './lib/pipes';
6
- export * from './lib/resolvers';
7
- export * from './lib/services';
8
- export * from './lib/utils';
1
+ export * from './lib/components';
2
+ export * from './lib/guards';
3
+ export * from './lib/interceptors';
4
+ export * from './lib/models';
5
+ export * from './lib/pipes';
6
+ export * from './lib/resolvers';
7
+ export * from './lib/services';
8
+ export * from './lib/utils';
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2d1YXJkcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzb2x2ZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XHJcbiJdfQ==