cmat 0.0.13 → 0.0.14

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 (265) hide show
  1. package/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.d.ts +0 -1
  2. package/components/cascade/cascade-menu/cascade-menu.component.d.ts +0 -1
  3. package/components/chip-input/chip-input.component.d.ts +0 -1
  4. package/components/custom-formly/public-api.d.ts +1 -0
  5. package/components/custom-formly/types/quill/quill.component.d.ts +42 -0
  6. package/components/custom-formly/types/repeat/repeat.component.d.ts +0 -1
  7. package/components/custom-formly/types/select/select.component.d.ts +0 -1
  8. package/components/custom-formly/types/stepper/horizontal/stepper.component.d.ts +0 -1
  9. package/components/custom-formly/types/stepper/vertical/stepper.component.d.ts +0 -1
  10. package/components/custom-formly/types/table/table.component.d.ts +0 -1
  11. package/components/custom-formly/types/tabs/tab.component.d.ts +0 -1
  12. package/components/custom-formly/types/tags/tags.component.d.ts +0 -1
  13. package/components/material-color-picker/material-color-picker.component.d.ts +0 -1
  14. package/components/material-datetimepicker/calendar-body.d.ts +0 -1
  15. package/components/material-datetimepicker/calendar.d.ts +3 -4
  16. package/components/material-datetimepicker/clock.d.ts +0 -1
  17. package/components/material-datetimepicker/datetimepicker.d.ts +3 -4
  18. package/components/material-datetimepicker/month-view.d.ts +0 -1
  19. package/components/pagination/pagination.component.d.ts +0 -1
  20. package/components/popover/popover.component.d.ts +3 -4
  21. package/components/popover/popover.interfaces.d.ts +1 -2
  22. package/components/select-tree/select-tree.component.d.ts +0 -1
  23. package/components/timeline/timeline.component.d.ts +3 -5
  24. package/components/transfer-picker/filter/filter.component.d.ts +0 -1
  25. package/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.d.ts +0 -1
  26. package/esm2022/components/adapter/datetime-adapter.mjs +1 -1
  27. package/esm2022/components/adapter/dayjs-date-adapter.mjs +4 -4
  28. package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +4 -4
  29. package/esm2022/components/adapter/native-datetime-adapter.mjs +4 -4
  30. package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +3 -3
  31. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +5 -5
  32. package/esm2022/components/breadcrumb/breadcrumb.service.mjs +4 -4
  33. package/esm2022/components/card/card.component.mjs +4 -4
  34. package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +5 -8
  35. package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +4 -4
  36. package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +5 -8
  37. package/esm2022/components/chip-input/chip-input.component.mjs +6 -9
  38. package/esm2022/components/custom-formly/extension/addons.extension.mjs +1 -1
  39. package/esm2022/components/custom-formly/public-api.mjs +2 -1
  40. package/esm2022/components/custom-formly/types/button/button.component.mjs +4 -4
  41. package/esm2022/components/custom-formly/types/cascade/cascade.component.mjs +4 -4
  42. package/esm2022/components/custom-formly/types/checklist/checklist.component.mjs +4 -4
  43. package/esm2022/components/custom-formly/types/chips/chips.component.mjs +4 -4
  44. package/esm2022/components/custom-formly/types/color-picker/color-picker.component.mjs +3 -3
  45. package/esm2022/components/custom-formly/types/date-range/date-range.component.mjs +3 -3
  46. package/esm2022/components/custom-formly/types/datepicker/datepicker.component.mjs +3 -3
  47. package/esm2022/components/custom-formly/types/multicheckbox/multicheckbox.component.mjs +4 -4
  48. package/esm2022/components/custom-formly/types/number/number.component.mjs +3 -3
  49. package/esm2022/components/custom-formly/types/quill/quill.component.mjs +171 -0
  50. package/esm2022/components/custom-formly/types/radio/radio.component.mjs +4 -4
  51. package/esm2022/components/custom-formly/types/rating/rating.component.mjs +3 -3
  52. package/esm2022/components/custom-formly/types/repeat/repeat.component.mjs +5 -8
  53. package/esm2022/components/custom-formly/types/select/select.component.mjs +5 -8
  54. package/esm2022/components/custom-formly/types/select-tree/select-tree.component.mjs +4 -4
  55. package/esm2022/components/custom-formly/types/stepper/horizontal/stepper.component.mjs +5 -8
  56. package/esm2022/components/custom-formly/types/stepper/vertical/stepper.component.mjs +5 -8
  57. package/esm2022/components/custom-formly/types/table/table.component.mjs +5 -8
  58. package/esm2022/components/custom-formly/types/tabs/tab.component.mjs +5 -8
  59. package/esm2022/components/custom-formly/types/tags/tags.component.mjs +5 -8
  60. package/esm2022/components/custom-formly/types/textarea/textarea.component.mjs +3 -3
  61. package/esm2022/components/custom-formly/types/upload/upload.component.mjs +4 -4
  62. package/esm2022/components/custom-formly/wrappers/addons/addons.component.mjs +4 -4
  63. package/esm2022/components/custom-formly/wrappers/card/card.component.mjs +3 -3
  64. package/esm2022/components/custom-formly/wrappers/expansion/expansion.component.mjs +3 -3
  65. package/esm2022/components/custom-formly/wrappers/panel/panel.component.mjs +3 -3
  66. package/esm2022/components/date-range/date-range.component.mjs +4 -4
  67. package/esm2022/components/drawer/drawer.component.mjs +4 -4
  68. package/esm2022/components/drawer/drawer.service.mjs +3 -3
  69. package/esm2022/components/fullscreen/fullscreen.component.mjs +4 -4
  70. package/esm2022/components/highlight/highlight.component.mjs +4 -4
  71. package/esm2022/components/highlight/highlight.service.mjs +4 -4
  72. package/esm2022/components/json-editor/json-editor.component.mjs +4 -4
  73. package/esm2022/components/masonry/masonry.component.mjs +4 -4
  74. package/esm2022/components/material-color-picker/material-color-picker.component.mjs +5 -8
  75. package/esm2022/components/material-datetimepicker/calendar-body.mjs +5 -8
  76. package/esm2022/components/material-datetimepicker/calendar.mjs +7 -13
  77. package/esm2022/components/material-datetimepicker/clock.mjs +5 -8
  78. package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +4 -4
  79. package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +3 -3
  80. package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +7 -7
  81. package/esm2022/components/material-datetimepicker/datetimepicker.mjs +10 -11
  82. package/esm2022/components/material-datetimepicker/month-view.mjs +5 -8
  83. package/esm2022/components/material-datetimepicker/multi-year-view.mjs +4 -4
  84. package/esm2022/components/material-datetimepicker/time.mjs +7 -7
  85. package/esm2022/components/material-datetimepicker/year-view.mjs +4 -4
  86. package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +3 -3
  87. package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +5 -5
  88. package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +3 -3
  89. package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +3 -3
  90. package/esm2022/components/navigation/horizontal/horizontal.component.mjs +5 -5
  91. package/esm2022/components/navigation/navigation.service.mjs +4 -4
  92. package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +5 -5
  93. package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +3 -3
  94. package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +5 -5
  95. package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +3 -3
  96. package/esm2022/components/navigation/vertical/components/group/group.component.mjs +5 -5
  97. package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +3 -3
  98. package/esm2022/components/navigation/vertical/vertical.component.mjs +5 -5
  99. package/esm2022/components/pagination/pagination.component.mjs +5 -8
  100. package/esm2022/components/pagination/pagination.directive.mjs +4 -4
  101. package/esm2022/components/pagination/pagination.pipe.mjs +4 -4
  102. package/esm2022/components/pagination/pagination.service.mjs +4 -4
  103. package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +3 -3
  104. package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +4 -4
  105. package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +4 -4
  106. package/esm2022/components/password-strength/mat-password-strength-validator.mjs +1 -1
  107. package/esm2022/components/popover/popover-trigger.mjs +6 -8
  108. package/esm2022/components/popover/popover.component.mjs +6 -7
  109. package/esm2022/components/popover/popover.interfaces.mjs +1 -1
  110. package/esm2022/components/popover/popover.target.mjs +3 -3
  111. package/esm2022/components/progress-bar/progress-bar.component.mjs +4 -4
  112. package/esm2022/components/rating/rating.component.mjs +5 -5
  113. package/esm2022/components/select-search/select-no-entries-found.directive.mjs +3 -3
  114. package/esm2022/components/select-search/select-search-clear.directive.mjs +3 -3
  115. package/esm2022/components/select-search/select-search.component.mjs +4 -4
  116. package/esm2022/components/select-tree/select-tree.component.mjs +5 -8
  117. package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +9 -9
  118. package/esm2022/components/timeline/timeline.component.mjs +7 -11
  119. package/esm2022/components/toast/toast-modal.component.mjs +4 -4
  120. package/esm2022/components/toast/toast.component.mjs +5 -5
  121. package/esm2022/components/toast/toast.service.mjs +4 -4
  122. package/esm2022/components/transfer-picker/filter/filter.component.mjs +5 -8
  123. package/esm2022/components/transfer-picker/search/search.component.mjs +3 -3
  124. package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +4 -4
  125. package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +5 -8
  126. package/esm2022/components/transfer-picker/transfer-picker.component.mjs +4 -4
  127. package/esm2022/components/transfer-picker/transfer-picker.service.mjs +4 -4
  128. package/esm2022/components/upload/files.util.service.mjs +4 -4
  129. package/esm2022/components/upload/upload-queue/upload-queue.component.mjs +4 -4
  130. package/esm2022/components/upload/upload.component.mjs +4 -4
  131. package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +4 -4
  132. package/esm2022/directives/animate-on-scroll/scroll.service.mjs +3 -3
  133. package/esm2022/directives/autofocus/autofocus.directive.mjs +3 -3
  134. package/esm2022/directives/debounce/abstract-debounce.directive.mjs +3 -3
  135. package/esm2022/directives/debounce/debounce-click.directive.mjs +3 -3
  136. package/esm2022/directives/debounce/debounce-keyup.directive.mjs +3 -3
  137. package/esm2022/directives/digit-only/digit-only.directive.mjs +4 -4
  138. package/esm2022/directives/digit-only/mask.directive.mjs +4 -4
  139. package/esm2022/directives/equal-validator/equal-validator.directive.mjs +4 -4
  140. package/esm2022/lib/mock-api/mock-api.interceptor.mjs +4 -4
  141. package/esm2022/lib/mock-api/mock-api.request-handler.mjs +1 -1
  142. package/esm2022/lib/mock-api/mock-api.service.mjs +4 -4
  143. package/esm2022/lib/mock-api/mock-api.utils.mjs +1 -1
  144. package/esm2022/pipes/bytes/bytes.pipe.mjs +4 -4
  145. package/esm2022/pipes/date-format/date-format.pipe.mjs +3 -3
  146. package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +4 -4
  147. package/esm2022/pipes/group-by/group-by.pipe.mjs +4 -4
  148. package/esm2022/pipes/keys/keys.pipe.mjs +4 -4
  149. package/esm2022/pipes/secure/secure-pipe.mjs +3 -3
  150. package/esm2022/pipes/uppercase/uppercase.pipe.mjs +3 -3
  151. package/esm2022/services/alert/alert.service.mjs +4 -4
  152. package/esm2022/services/config/config.service.mjs +3 -3
  153. package/esm2022/services/config/urlStateConfig.service.mjs +3 -3
  154. package/esm2022/services/confirmation/confirmation.service.mjs +3 -3
  155. package/esm2022/services/confirmation/dialog/dialog.component.mjs +3 -3
  156. package/esm2022/services/data/data.service.mjs +4 -4
  157. package/esm2022/services/loading/loading.interceptor.mjs +4 -4
  158. package/esm2022/services/loading/loading.service.mjs +4 -4
  159. package/esm2022/services/local-storage/local-storage.service.mjs +3 -3
  160. package/esm2022/services/media-watcher/media-watcher.service.mjs +4 -4
  161. package/esm2022/services/platform/platform.service.mjs +4 -4
  162. package/esm2022/services/splash-screen/splash-screen.service.mjs +3 -3
  163. package/esm2022/services/title/title.service.mjs +4 -4
  164. package/esm2022/services/translation/translation.service.mjs +4 -4
  165. package/esm2022/services/utils/utils.service.mjs +4 -4
  166. package/esm2022/validators/validators.mjs +1 -1
  167. package/fesm2022/cmat-animations.mjs +1 -1
  168. package/fesm2022/cmat-components-adapter.mjs +9 -9
  169. package/fesm2022/cmat-components-adapter.mjs.map +1 -1
  170. package/fesm2022/cmat-components-breadcrumb.mjs +10 -10
  171. package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
  172. package/fesm2022/cmat-components-card.mjs +3 -3
  173. package/fesm2022/cmat-components-card.mjs.map +1 -1
  174. package/fesm2022/cmat-components-cascade.mjs +11 -17
  175. package/fesm2022/cmat-components-cascade.mjs.map +1 -1
  176. package/fesm2022/cmat-components-chip-input.mjs +5 -8
  177. package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
  178. package/fesm2022/cmat-components-custom-formly.mjs +248 -104
  179. package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
  180. package/fesm2022/cmat-components-date-range.mjs +4 -4
  181. package/fesm2022/cmat-components-date-range.mjs.map +1 -1
  182. package/fesm2022/cmat-components-drawer.mjs +7 -7
  183. package/fesm2022/cmat-components-drawer.mjs.map +1 -1
  184. package/fesm2022/cmat-components-fullscreen.mjs +3 -3
  185. package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
  186. package/fesm2022/cmat-components-highlight.mjs +6 -6
  187. package/fesm2022/cmat-components-highlight.mjs.map +1 -1
  188. package/fesm2022/cmat-components-json-editor.mjs +3 -3
  189. package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
  190. package/fesm2022/cmat-components-masonry.mjs +3 -3
  191. package/fesm2022/cmat-components-masonry.mjs.map +1 -1
  192. package/fesm2022/cmat-components-material-color-picker.mjs +4 -7
  193. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  194. package/fesm2022/cmat-components-material-datetimepicker.mjs +53 -68
  195. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  196. package/fesm2022/cmat-components-navigation.mjs +46 -46
  197. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  198. package/fesm2022/cmat-components-pagination.mjs +13 -16
  199. package/fesm2022/cmat-components-pagination.mjs.map +1 -1
  200. package/fesm2022/cmat-components-password-strength.mjs +10 -10
  201. package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
  202. package/fesm2022/cmat-components-popover.mjs +13 -16
  203. package/fesm2022/cmat-components-popover.mjs.map +1 -1
  204. package/fesm2022/cmat-components-progress-bar.mjs +3 -3
  205. package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
  206. package/fesm2022/cmat-components-rating.mjs +4 -4
  207. package/fesm2022/cmat-components-rating.mjs.map +1 -1
  208. package/fesm2022/cmat-components-select-search.mjs +10 -10
  209. package/fesm2022/cmat-components-select-search.mjs.map +1 -1
  210. package/fesm2022/cmat-components-select-tree.mjs +4 -7
  211. package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
  212. package/fesm2022/cmat-components-timeline.mjs +15 -19
  213. package/fesm2022/cmat-components-timeline.mjs.map +1 -1
  214. package/fesm2022/cmat-components-toast.mjs +10 -10
  215. package/fesm2022/cmat-components-toast.mjs.map +1 -1
  216. package/fesm2022/cmat-components-transfer-picker.mjs +20 -26
  217. package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
  218. package/fesm2022/cmat-components-upload.mjs +9 -9
  219. package/fesm2022/cmat-components-upload.mjs.map +1 -1
  220. package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
  221. package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
  222. package/fesm2022/cmat-directives-autofocus.mjs +3 -3
  223. package/fesm2022/cmat-directives-debounce.mjs +9 -9
  224. package/fesm2022/cmat-directives-digit-only.mjs +6 -6
  225. package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
  226. package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
  227. package/fesm2022/cmat-directives-equal-validator.mjs.map +1 -1
  228. package/fesm2022/cmat-lib-mock-api.mjs +7 -7
  229. package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
  230. package/fesm2022/cmat-pipes-bytes.mjs +3 -3
  231. package/fesm2022/cmat-pipes-bytes.mjs.map +1 -1
  232. package/fesm2022/cmat-pipes-date-format.mjs +3 -3
  233. package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
  234. package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
  235. package/fesm2022/cmat-pipes-group-by.mjs +3 -3
  236. package/fesm2022/cmat-pipes-group-by.mjs.map +1 -1
  237. package/fesm2022/cmat-pipes-keys.mjs +3 -3
  238. package/fesm2022/cmat-pipes-keys.mjs.map +1 -1
  239. package/fesm2022/cmat-pipes-secure.mjs +3 -3
  240. package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
  241. package/fesm2022/cmat-services-alert.mjs +3 -3
  242. package/fesm2022/cmat-services-alert.mjs.map +1 -1
  243. package/fesm2022/cmat-services-config.mjs +6 -6
  244. package/fesm2022/cmat-services-confirmation.mjs +6 -6
  245. package/fesm2022/cmat-services-data.mjs +3 -3
  246. package/fesm2022/cmat-services-data.mjs.map +1 -1
  247. package/fesm2022/cmat-services-loading.mjs +6 -6
  248. package/fesm2022/cmat-services-loading.mjs.map +1 -1
  249. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  250. package/fesm2022/cmat-services-media-watcher.mjs +3 -3
  251. package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
  252. package/fesm2022/cmat-services-platform.mjs +3 -3
  253. package/fesm2022/cmat-services-platform.mjs.map +1 -1
  254. package/fesm2022/cmat-services-splash-screen.mjs +3 -3
  255. package/fesm2022/cmat-services-title.mjs +3 -3
  256. package/fesm2022/cmat-services-title.mjs.map +1 -1
  257. package/fesm2022/cmat-services-translation.mjs +3 -3
  258. package/fesm2022/cmat-services-translation.mjs.map +1 -1
  259. package/fesm2022/cmat-services-utils.mjs +3 -3
  260. package/fesm2022/cmat-services-utils.mjs.map +1 -1
  261. package/fesm2022/cmat-validators.mjs.map +1 -1
  262. package/package.json +111 -102
  263. package/styles/overrides/angular-material.scss +0 -1
  264. package/styles/overrides/quill.scss +102 -0
  265. package/styles/themes.scss +19 -19
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-services-utils.mjs","sources":["../../../projects/cmat/services/utils/utils.service.ts","../../../projects/cmat/services/utils/cmat-services-utils.ts"],"sourcesContent":["import { HttpErrorResponse, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IsActiveMatchOptions } from '@angular/router';\r\nimport AES from 'crypto-js/aes';\r\nimport CryptoJSCore from 'crypto-js/core';\r\nimport Base64 from 'crypto-js/enc-base64';\r\nimport Hex from 'crypto-js/enc-hex';\r\nimport UTF8 from 'crypto-js/enc-utf8';\r\nimport Pkcs7 from 'crypto-js/pad-pkcs7';\r\nimport { isUndefined } from 'lodash-es';\r\nimport { throwError, Observable } from 'rxjs';\r\nimport { CMAT_VERSION } from 'cmat/version';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatUtilsService {\r\n public static readonly captionAndMessageSeparator = ':';\r\n public static readonly noNetworkMessageCaption = '无网络';\r\n public static readonly noNetworkMessageDetail = '无法连接服务器';\r\n public static readonly accessDeniedMessageCaption = '拒绝访问!';\r\n public static readonly accessDeniedMessageDetail = '';\r\n private static readonly key = UTF8.parse('14789632236987411478963223698741');//32位\r\n private static readonly iv = UTF8.parse('1478963223698741');//16位\r\n\r\n get exactMatchOptions(): IsActiveMatchOptions {\r\n return {\r\n paths: 'exact',\r\n fragment: 'ignored',\r\n matrixParams: 'ignored',\r\n queryParams: 'exact'\r\n };\r\n }\r\n\r\n get subsetMatchOptions(): IsActiveMatchOptions {\r\n return {\r\n paths: 'subset',\r\n fragment: 'ignored',\r\n matrixParams: 'ignored',\r\n queryParams: 'subset'\r\n };\r\n }\r\n\r\n public static getRequestHeaders(): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Content-Type', 'application/json')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', CMAT_VERSION);\r\n }\r\n\r\n public static getRequestBypassHeaders(): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Content-Type', 'application/json')\r\n .append('bypass', 'true')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', CMAT_VERSION);\r\n }\r\n\r\n public static getRequestCryptoHeaders(params: string): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', this.getEncryptData('partymanageApi' + params).toString());\r\n }\r\n\r\n public static getRequestCryptoBypassHeaders(params: string): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('bypass', 'true')\r\n .append('App-Version', this.getEncryptData('partymanageApi' + params).toString());\r\n }\r\n\r\n public static getEncryptData(data: string): string {\r\n const src = UTF8.parse(data);\r\n\r\n return AES.encrypt(src, this.key, {\r\n iv: this.iv,\r\n mode: CryptoJSCore.mode.CBC,\r\n padding: Pkcs7\r\n }).ciphertext.toString();\r\n }\r\n\r\n public static getDecryptData(data: string): string {\r\n const encryptedHexStr = Hex.parse(data);\r\n return AES.decrypt(Base64.stringify(encryptedHexStr), this.key, {\r\n iv: this.iv,\r\n mode: CryptoJSCore.mode.CBC,\r\n padding: Pkcs7\r\n }).toString(UTF8).toString();\r\n }\r\n\r\n public static handleError(error: any): Observable<never> {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Client side network error occurred:', error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error('Backend - ' +\r\n `status: ${error.status}, ` +\r\n `statusText: ${error.statusText}, ` +\r\n `message: ${error.message}`);\r\n }\r\n\r\n // return an observable with a user-facing error message\r\n return throwError(() => error || 'server error');\r\n }\r\n\r\n public static getHttpResponseMessage(data: HttpResponseBase | any): string[] {\r\n\r\n const responses: string[] = [];\r\n\r\n if (data instanceof HttpResponseBase) {\r\n if (this.checkNoNetwork(data)) {\r\n responses.push(`${this.noNetworkMessageCaption}${this.captionAndMessageSeparator} ${this.noNetworkMessageDetail}`);\r\n } else {\r\n const responseObject = this.getResponseBody(data);\r\n\r\n if (responseObject && (typeof responseObject === 'object' || responseObject instanceof Object)) {\r\n\r\n for (const key in responseObject) {\r\n if (Object.prototype.hasOwnProperty.call(responseObject, key)) {\r\n if (key) {\r\n responses.push(`${key}${this.captionAndMessageSeparator} ${responseObject[key]}`);\r\n } else if (responseObject[key]) {\r\n responses.push(responseObject[key].toString());\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!responses.length && this.getResponseBody(data)) {\r\n responses.push(`${this.getResponseBody(data).toString()}`);\r\n }\r\n }\r\n\r\n if (!responses.length) {\r\n responses.push(data.toString());\r\n }\r\n\r\n if (this.checkAccessDenied(data)) {\r\n responses.splice(0, 0, `${this.accessDeniedMessageCaption}${this.captionAndMessageSeparator} ${this.accessDeniedMessageDetail}`);\r\n }\r\n\r\n return responses;\r\n }\r\n\r\n\r\n public static findHttpResponseMessage(messageToFind: string, data: HttpResponse<any> | any, seachInCaptionOnly = true, includeCaptionInResult = false): string | null {\r\n const searchString = messageToFind.toLowerCase();\r\n const httpMessages = this.getHttpResponseMessage(data);\r\n\r\n for (const message of httpMessages) {\r\n const fullMessage = CmatUtilsService.splitInTwo(message, this.captionAndMessageSeparator);\r\n\r\n if (fullMessage.firstPart && fullMessage.firstPart.toLowerCase().indexOf(searchString) !== -1) {\r\n return includeCaptionInResult ? message : fullMessage.secondPart || fullMessage.firstPart;\r\n }\r\n }\r\n\r\n if (!seachInCaptionOnly) {\r\n for (const message of httpMessages) {\r\n\r\n if (message.toLowerCase().indexOf(searchString) !== -1) {\r\n if (includeCaptionInResult) {\r\n return message;\r\n } else {\r\n const fullMessage = CmatUtilsService.splitInTwo(message, this.captionAndMessageSeparator);\r\n return fullMessage.secondPart || fullMessage.firstPart;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static getResponseBody(response: HttpResponseBase): any {\r\n if (response instanceof HttpResponse) {\r\n return response.body;\r\n }\r\n\r\n if (response instanceof HttpErrorResponse) {\r\n return response.error || response.message || response.statusText;\r\n }\r\n return response;\r\n }\r\n\r\n\r\n public static checkNoNetwork(response: HttpResponseBase): boolean {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 0;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkAccessDenied(response: HttpResponseBase): boolean {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 403;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkNotFound(response: HttpResponseBase): boolean {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 404;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkIsLocalHost(url: string, base?: string): boolean {\r\n if (url) {\r\n const location = new URL(url, base);\r\n return location.hostname === 'localhost' || location.hostname === '127.0.0.1';\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static getQueryParamsFromString(paramString: string): { [key: string]: string | null } | null {\r\n if (!paramString) {\r\n return null;\r\n }\r\n\r\n const params: { [key: string]: string | null } = {};\r\n\r\n for (const param of paramString.split('&')) {\r\n const keyValue = CmatUtilsService.splitInTwo(param, '=');\r\n params[keyValue.firstPart] = keyValue.secondPart;\r\n }\r\n\r\n return params;\r\n }\r\n\r\n public static splitInTwo(text: string, separator?: string): { firstPart: string; secondPart: string | null } {\r\n const separatorIndex = separator ? text.indexOf(separator) : -1;\r\n\r\n if (separatorIndex === -1) {\r\n return { firstPart: text, secondPart: null };\r\n }\r\n\r\n const part1 = text.substring(0, separatorIndex).trim();\r\n const part2 = text.substring(separatorIndex + 1).trim();\r\n\r\n return { firstPart: part1, secondPart: part2 };\r\n }\r\n\r\n public static safeStringify(object: any): string {\r\n let result: string;\r\n\r\n try {\r\n result = JSON.stringify(object);\r\n return result;\r\n } catch (error) { /* empty */ }\r\n\r\n const simpleObject: any = {};\r\n\r\n for (const prop in object) {\r\n if (!Object.prototype.hasOwnProperty.call(object, prop)) {\r\n continue;\r\n }\r\n if (typeof (object[prop]) == 'object') {\r\n continue;\r\n }\r\n if (typeof (object[prop]) == 'function') {\r\n continue;\r\n }\r\n simpleObject[prop] = object[prop];\r\n }\r\n\r\n result = '[***Sanitized Object***]: ' + JSON.stringify(simpleObject);\r\n\r\n return result;\r\n }\r\n\r\n public static jsonTryParse(value: string): string | void {\r\n try {\r\n return JSON.parse(value);\r\n } catch (e) {\r\n if (isUndefined(value)) {\r\n return void 0;\r\n }\r\n\r\n return value;\r\n }\r\n }\r\n\r\n public static capitalizeFirstLetter(text: string): string {\r\n if (text) {\r\n return text.charAt(0).toUpperCase() + text.slice(1);\r\n } else {\r\n return text;\r\n }\r\n }\r\n\r\n\r\n public static toTitleCase(text: string): string {\r\n return text.replace(/\\w\\S*/g, subString => subString.charAt(0).toUpperCase() + subString.substring(1).toLowerCase());\r\n }\r\n\r\n public static toLowerCase(items: string | string[]): string;\r\n public static toLowerCase(items: any): string | string[] | void {\r\n if (items instanceof Array) {\r\n const loweredRoles: string[] = [];\r\n\r\n for (let i = 0; i < items.length; i++) {\r\n loweredRoles[i] = items[i].toLowerCase();\r\n }\r\n\r\n return loweredRoles;\r\n } else if (typeof items === 'string' || items instanceof String) {\r\n return items.toLowerCase();\r\n }\r\n\r\n return void 0;\r\n }\r\n\r\n public static uniqueId(): string {\r\n return this.randomNumber(1000000, 9000000).toString();\r\n }\r\n\r\n public static randomNumber(min: number, max: number): number {\r\n return Math.floor(Math.random() * (max - min + 1) + min);\r\n }\r\n\r\n public static baseUrl(): string {\r\n let base: string;\r\n\r\n if (window.location.origin) {\r\n base = window.location.origin;\r\n } else {\r\n base = window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '');\r\n }\r\n\r\n return base.replace(/\\/$/, '');\r\n }\r\n\r\n public static newGuid(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n // eslint-disable-next-line no-bitwise\r\n const r = (Math.random() * 16) | 0;\r\n // eslint-disable-next-line no-bitwise\r\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n public static testIsAbsoluteUrl(url: string): boolean {\r\n const r = new RegExp('^(?:[a-z]+:)?//', 'i');\r\n return r.test(url);\r\n }\r\n\r\n public static convertToAbsoluteUrl(url: string): string {\r\n return CmatUtilsService.testIsAbsoluteUrl(url) ? url : '//' + url;\r\n }\r\n\r\n public static urlBase64Decode(str: string): string {\r\n let output = str.replace(/-/g, '+').replace(/_/g, '/');\r\n switch (output.length % 4) {\r\n case 0: {\r\n break;\r\n }\r\n case 2: {\r\n output += '==';\r\n break;\r\n }\r\n case 3: {\r\n output += '=';\r\n break;\r\n }\r\n }\r\n return this._base64DecodeUnicode(output);\r\n }\r\n\r\n public static decodeToken(token: string): any {\r\n const parts = token.split('.');\r\n\r\n if (parts.length !== 3) {\r\n throw new Error('JWT must have 3 parts');\r\n }\r\n\r\n const decoded = this.urlBase64Decode(parts[1]);\r\n if (!decoded) {\r\n throw new Error('Cannot decode the token');\r\n }\r\n\r\n return JSON.parse(decoded);\r\n }\r\n\r\n public static getTokenExpirationDate(token: string): Date | null {\r\n const decoded = this.decodeToken(token);\r\n\r\n if (!Object.prototype.hasOwnProperty.call(decoded, 'exp')) {\r\n return null;\r\n }\r\n\r\n const date = new Date(0); // The 0 here is the key, which sets the date to the epoch\r\n date.setUTCSeconds(decoded.exp);\r\n\r\n return date;\r\n }\r\n\r\n public static isTokenExpired(token: string, offsetSeconds?: number): boolean {\r\n const date = this.getTokenExpirationDate(token);\r\n offsetSeconds = offsetSeconds || 0;\r\n\r\n if (date == null) {\r\n return false;\r\n }\r\n\r\n // Token expired?\r\n return !(date.valueOf() > (new Date().valueOf() + (offsetSeconds * 1000)));\r\n }\r\n\r\n public static readAsDataURL(file: File): Promise<any> {\r\n // Return a new promise\r\n return new Promise((resolve, reject) => {\r\n\r\n // Create a new reader\r\n const reader = new FileReader();\r\n\r\n // Resolve the promise on success\r\n reader.onload = (): void => {\r\n resolve(reader.result);\r\n };\r\n\r\n // Reject the promise on error\r\n reader.onerror = (e): void => {\r\n reject(e);\r\n };\r\n\r\n // Read the file as the\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n\r\n public static dataURIToBlob(dataURI: string): Blob {\r\n const splitDataURI = dataURI.split(',');\r\n\r\n const byteString = splitDataURI[0].indexOf('base64') >= 0 ? atob(splitDataURI[1]) : decodeURI(splitDataURI[1]);\r\n const mimeString = splitDataURI[0].split(':')[1].split(';')[0];\r\n\r\n const ia = new Uint8Array(byteString.length);\r\n for (let i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n\r\n return new Blob([ia], { type: mimeString });\r\n }\r\n\r\n public static getFileType(accept: string): 'csv' | 'gif' | 'word' | 'excel' | 'jpg' | 'outlook' | 'pdf' | 'png' | 'ppt' | 'file' | 'text' | 'video' | 'zip' {\r\n let fileType = 'file';\r\n switch (accept) {\r\n case 'image/jpeg':\r\n case 'image/jpg':\r\n fileType = 'jpg';\r\n break;\r\n case 'image/png':\r\n fileType = 'png';\r\n break;\r\n case 'text/csv':\r\n fileType = 'csv';\r\n break;\r\n case 'image/gif':\r\n fileType = 'gif';\r\n break;\r\n case 'application/msword':\r\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\r\n fileType = 'word';\r\n break;\r\n case 'application/vnd.ms-excel':\r\n case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\r\n fileType = 'word';\r\n break;\r\n case 'application/pdf':\r\n fileType = 'pdf';\r\n break;\r\n case 'application/vnd.openxmlformats-officedocument.presentationml.presentation':\r\n case 'application/vnd.ms-powerpoint':\r\n fileType = 'ppt';\r\n break;\r\n case 'text/plain':\r\n fileType = 'text';\r\n break;\r\n case 'video/mpeg':\r\n case 'video/mp4':\r\n case 'audio/mp4':\r\n fileType = 'video';\r\n break;\r\n case 'aplication/zip':\r\n fileType = 'zip';\r\n break;\r\n }\r\n\r\n return fileType as 'csv' | 'gif' | 'word' | 'excel' | 'jpg' | 'outlook' | 'pdf' | 'png' | 'ppt' | 'file' | 'text' | 'video' | 'zip';\r\n }\r\n\r\n private static _base64DecodeUnicode(str: any): string {\r\n return decodeURIComponent(Array.prototype.map.call(atob(str), (c: any) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join(''));\r\n }\r\n\r\n randomId(stringLength: number = 10): string {\r\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n let id = '';\r\n\r\n for (let i = 0; i < stringLength; i++) {\r\n id += chars.charAt(Math.floor(Math.random() * chars.length));\r\n }\r\n\r\n return id;\r\n }\r\n}\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmat-services-utils.mjs","sources":["../../../projects/cmat/services/utils/utils.service.ts","../../../projects/cmat/services/utils/cmat-services-utils.ts"],"sourcesContent":["import { HttpErrorResponse, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IsActiveMatchOptions } from '@angular/router';\r\nimport AES from 'crypto-js/aes';\r\nimport CryptoJSCore from 'crypto-js/core';\r\nimport Base64 from 'crypto-js/enc-base64';\r\nimport Hex from 'crypto-js/enc-hex';\r\nimport UTF8 from 'crypto-js/enc-utf8';\r\nimport Pkcs7 from 'crypto-js/pad-pkcs7';\r\nimport { isUndefined } from 'lodash-es';\r\nimport { throwError, Observable } from 'rxjs';\r\nimport { CMAT_VERSION } from 'cmat/version';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatUtilsService {\r\n public static readonly captionAndMessageSeparator = ':';\r\n public static readonly noNetworkMessageCaption = '无网络';\r\n public static readonly noNetworkMessageDetail = '无法连接服务器';\r\n public static readonly accessDeniedMessageCaption = '拒绝访问!';\r\n public static readonly accessDeniedMessageDetail = '';\r\n private static readonly key = UTF8.parse('14789632236987411478963223698741');//32位\r\n private static readonly iv = UTF8.parse('1478963223698741');//16位\r\n\r\n get exactMatchOptions(): IsActiveMatchOptions {\r\n return {\r\n paths: 'exact',\r\n fragment: 'ignored',\r\n matrixParams: 'ignored',\r\n queryParams: 'exact'\r\n };\r\n }\r\n\r\n get subsetMatchOptions(): IsActiveMatchOptions {\r\n return {\r\n paths: 'subset',\r\n fragment: 'ignored',\r\n matrixParams: 'ignored',\r\n queryParams: 'subset'\r\n };\r\n }\r\n\r\n public static getRequestHeaders(): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Content-Type', 'application/json')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', CMAT_VERSION);\r\n }\r\n\r\n public static getRequestBypassHeaders(): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Content-Type', 'application/json')\r\n .append('bypass', 'true')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', CMAT_VERSION);\r\n }\r\n\r\n public static getRequestCryptoHeaders(params: string): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', this.getEncryptData('partymanageApi' + params).toString());\r\n }\r\n\r\n public static getRequestCryptoBypassHeaders(params: string): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('bypass', 'true')\r\n .append('App-Version', this.getEncryptData('partymanageApi' + params).toString());\r\n }\r\n\r\n public static getEncryptData(data: string): string {\r\n const src = UTF8.parse(data);\r\n\r\n return AES.encrypt(src, this.key, {\r\n iv: this.iv,\r\n mode: CryptoJSCore.mode.CBC,\r\n padding: Pkcs7\r\n }).ciphertext.toString();\r\n }\r\n\r\n public static getDecryptData(data: string): string {\r\n const encryptedHexStr = Hex.parse(data);\r\n return AES.decrypt(Base64.stringify(encryptedHexStr), this.key, {\r\n iv: this.iv,\r\n mode: CryptoJSCore.mode.CBC,\r\n padding: Pkcs7\r\n }).toString(UTF8).toString();\r\n }\r\n\r\n public static handleError(error: any): Observable<never> {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Client side network error occurred:', error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error('Backend - ' +\r\n `status: ${error.status}, ` +\r\n `statusText: ${error.statusText}, ` +\r\n `message: ${error.message}`);\r\n }\r\n\r\n // return an observable with a user-facing error message\r\n return throwError(() => error || 'server error');\r\n }\r\n\r\n public static getHttpResponseMessage(data: HttpResponseBase | any): string[] {\r\n\r\n const responses: string[] = [];\r\n\r\n if (data instanceof HttpResponseBase) {\r\n if (this.checkNoNetwork(data)) {\r\n responses.push(`${this.noNetworkMessageCaption}${this.captionAndMessageSeparator} ${this.noNetworkMessageDetail}`);\r\n } else {\r\n const responseObject = this.getResponseBody(data);\r\n\r\n if (responseObject && (typeof responseObject === 'object' || responseObject instanceof Object)) {\r\n\r\n for (const key in responseObject) {\r\n if (Object.prototype.hasOwnProperty.call(responseObject, key)) {\r\n if (key) {\r\n responses.push(`${key}${this.captionAndMessageSeparator} ${responseObject[key]}`);\r\n } else if (responseObject[key]) {\r\n responses.push(responseObject[key].toString());\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!responses.length && this.getResponseBody(data)) {\r\n responses.push(`${this.getResponseBody(data).toString()}`);\r\n }\r\n }\r\n\r\n if (!responses.length) {\r\n responses.push(data.toString());\r\n }\r\n\r\n if (this.checkAccessDenied(data)) {\r\n responses.splice(0, 0, `${this.accessDeniedMessageCaption}${this.captionAndMessageSeparator} ${this.accessDeniedMessageDetail}`);\r\n }\r\n\r\n return responses;\r\n }\r\n\r\n\r\n public static findHttpResponseMessage(messageToFind: string, data: HttpResponse<any> | any, seachInCaptionOnly = true, includeCaptionInResult = false): string | null {\r\n const searchString = messageToFind.toLowerCase();\r\n const httpMessages = this.getHttpResponseMessage(data);\r\n\r\n for (const message of httpMessages) {\r\n const fullMessage = CmatUtilsService.splitInTwo(message, this.captionAndMessageSeparator);\r\n\r\n if (fullMessage.firstPart && fullMessage.firstPart.toLowerCase().indexOf(searchString) !== -1) {\r\n return includeCaptionInResult ? message : fullMessage.secondPart || fullMessage.firstPart;\r\n }\r\n }\r\n\r\n if (!seachInCaptionOnly) {\r\n for (const message of httpMessages) {\r\n\r\n if (message.toLowerCase().indexOf(searchString) !== -1) {\r\n if (includeCaptionInResult) {\r\n return message;\r\n } else {\r\n const fullMessage = CmatUtilsService.splitInTwo(message, this.captionAndMessageSeparator);\r\n return fullMessage.secondPart || fullMessage.firstPart;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static getResponseBody(response: HttpResponseBase): any {\r\n if (response instanceof HttpResponse) {\r\n return response.body;\r\n }\r\n\r\n if (response instanceof HttpErrorResponse) {\r\n return response.error || response.message || response.statusText;\r\n }\r\n return response;\r\n }\r\n\r\n\r\n public static checkNoNetwork(response: HttpResponseBase): boolean {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 0;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkAccessDenied(response: HttpResponseBase): boolean {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 403;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkNotFound(response: HttpResponseBase): boolean {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 404;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkIsLocalHost(url: string, base?: string): boolean {\r\n if (url) {\r\n const location = new URL(url, base);\r\n return location.hostname === 'localhost' || location.hostname === '127.0.0.1';\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static getQueryParamsFromString(paramString: string): { [key: string]: string | null } | null {\r\n if (!paramString) {\r\n return null;\r\n }\r\n\r\n const params: { [key: string]: string | null } = {};\r\n\r\n for (const param of paramString.split('&')) {\r\n const keyValue = CmatUtilsService.splitInTwo(param, '=');\r\n params[keyValue.firstPart] = keyValue.secondPart;\r\n }\r\n\r\n return params;\r\n }\r\n\r\n public static splitInTwo(text: string, separator?: string): { firstPart: string; secondPart: string | null } {\r\n const separatorIndex = separator ? text.indexOf(separator) : -1;\r\n\r\n if (separatorIndex === -1) {\r\n return { firstPart: text, secondPart: null };\r\n }\r\n\r\n const part1 = text.substring(0, separatorIndex).trim();\r\n const part2 = text.substring(separatorIndex + 1).trim();\r\n\r\n return { firstPart: part1, secondPart: part2 };\r\n }\r\n\r\n public static safeStringify(object: any): string {\r\n let result: string;\r\n\r\n try {\r\n result = JSON.stringify(object);\r\n return result;\r\n } catch (error) { /* empty */ }\r\n\r\n const simpleObject: any = {};\r\n\r\n for (const prop in object) {\r\n if (!Object.prototype.hasOwnProperty.call(object, prop)) {\r\n continue;\r\n }\r\n if (typeof (object[prop]) == 'object') {\r\n continue;\r\n }\r\n if (typeof (object[prop]) == 'function') {\r\n continue;\r\n }\r\n simpleObject[prop] = object[prop];\r\n }\r\n\r\n result = '[***Sanitized Object***]: ' + JSON.stringify(simpleObject);\r\n\r\n return result;\r\n }\r\n\r\n public static jsonTryParse(value: string): string | void {\r\n try {\r\n return JSON.parse(value);\r\n } catch (e) {\r\n if (isUndefined(value)) {\r\n return void 0;\r\n }\r\n\r\n return value;\r\n }\r\n }\r\n\r\n public static capitalizeFirstLetter(text: string): string {\r\n if (text) {\r\n return text.charAt(0).toUpperCase() + text.slice(1);\r\n } else {\r\n return text;\r\n }\r\n }\r\n\r\n\r\n public static toTitleCase(text: string): string {\r\n return text.replace(/\\w\\S*/g, subString => subString.charAt(0).toUpperCase() + subString.substring(1).toLowerCase());\r\n }\r\n\r\n public static toLowerCase(items: string | string[]): string;\r\n public static toLowerCase(items: any): string | string[] | void {\r\n if (items instanceof Array) {\r\n const loweredRoles: string[] = [];\r\n\r\n for (let i = 0; i < items.length; i++) {\r\n loweredRoles[i] = items[i].toLowerCase();\r\n }\r\n\r\n return loweredRoles;\r\n } else if (typeof items === 'string' || items instanceof String) {\r\n return items.toLowerCase();\r\n }\r\n\r\n return void 0;\r\n }\r\n\r\n public static uniqueId(): string {\r\n return this.randomNumber(1000000, 9000000).toString();\r\n }\r\n\r\n public static randomNumber(min: number, max: number): number {\r\n return Math.floor(Math.random() * (max - min + 1) + min);\r\n }\r\n\r\n public static baseUrl(): string {\r\n let base: string;\r\n\r\n if (window.location.origin) {\r\n base = window.location.origin;\r\n } else {\r\n base = window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '');\r\n }\r\n\r\n return base.replace(/\\/$/, '');\r\n }\r\n\r\n public static newGuid(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n // eslint-disable-next-line no-bitwise\r\n const r = (Math.random() * 16) | 0;\r\n // eslint-disable-next-line no-bitwise\r\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n public static testIsAbsoluteUrl(url: string): boolean {\r\n const r = new RegExp('^(?:[a-z]+:)?//', 'i');\r\n return r.test(url);\r\n }\r\n\r\n public static convertToAbsoluteUrl(url: string): string {\r\n return CmatUtilsService.testIsAbsoluteUrl(url) ? url : '//' + url;\r\n }\r\n\r\n public static urlBase64Decode(str: string): string {\r\n let output = str.replace(/-/g, '+').replace(/_/g, '/');\r\n switch (output.length % 4) {\r\n case 0: {\r\n break;\r\n }\r\n case 2: {\r\n output += '==';\r\n break;\r\n }\r\n case 3: {\r\n output += '=';\r\n break;\r\n }\r\n }\r\n return this._base64DecodeUnicode(output);\r\n }\r\n\r\n public static decodeToken(token: string): any {\r\n const parts = token.split('.');\r\n\r\n if (parts.length !== 3) {\r\n throw new Error('JWT must have 3 parts');\r\n }\r\n\r\n const decoded = this.urlBase64Decode(parts[1]);\r\n if (!decoded) {\r\n throw new Error('Cannot decode the token');\r\n }\r\n\r\n return JSON.parse(decoded);\r\n }\r\n\r\n public static getTokenExpirationDate(token: string): Date | null {\r\n const decoded = this.decodeToken(token);\r\n\r\n if (!Object.prototype.hasOwnProperty.call(decoded, 'exp')) {\r\n return null;\r\n }\r\n\r\n const date = new Date(0); // The 0 here is the key, which sets the date to the epoch\r\n date.setUTCSeconds(decoded.exp);\r\n\r\n return date;\r\n }\r\n\r\n public static isTokenExpired(token: string, offsetSeconds?: number): boolean {\r\n const date = this.getTokenExpirationDate(token);\r\n offsetSeconds = offsetSeconds || 0;\r\n\r\n if (date == null) {\r\n return false;\r\n }\r\n\r\n // Token expired?\r\n return !(date.valueOf() > (new Date().valueOf() + (offsetSeconds * 1000)));\r\n }\r\n\r\n public static readAsDataURL(file: File): Promise<any> {\r\n // Return a new promise\r\n return new Promise((resolve, reject) => {\r\n\r\n // Create a new reader\r\n const reader = new FileReader();\r\n\r\n // Resolve the promise on success\r\n reader.onload = (): void => {\r\n resolve(reader.result);\r\n };\r\n\r\n // Reject the promise on error\r\n reader.onerror = (e): void => {\r\n reject(e);\r\n };\r\n\r\n // Read the file as the\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n\r\n public static dataURIToBlob(dataURI: string): Blob {\r\n const splitDataURI = dataURI.split(',');\r\n\r\n const byteString = splitDataURI[0].indexOf('base64') >= 0 ? atob(splitDataURI[1]) : decodeURI(splitDataURI[1]);\r\n const mimeString = splitDataURI[0].split(':')[1].split(';')[0];\r\n\r\n const ia = new Uint8Array(byteString.length);\r\n for (let i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n\r\n return new Blob([ia], { type: mimeString });\r\n }\r\n\r\n public static getFileType(accept: string): 'csv' | 'gif' | 'word' | 'excel' | 'jpg' | 'outlook' | 'pdf' | 'png' | 'ppt' | 'file' | 'text' | 'video' | 'zip' {\r\n let fileType = 'file';\r\n switch (accept) {\r\n case 'image/jpeg':\r\n case 'image/jpg':\r\n fileType = 'jpg';\r\n break;\r\n case 'image/png':\r\n fileType = 'png';\r\n break;\r\n case 'text/csv':\r\n fileType = 'csv';\r\n break;\r\n case 'image/gif':\r\n fileType = 'gif';\r\n break;\r\n case 'application/msword':\r\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\r\n fileType = 'word';\r\n break;\r\n case 'application/vnd.ms-excel':\r\n case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\r\n fileType = 'word';\r\n break;\r\n case 'application/pdf':\r\n fileType = 'pdf';\r\n break;\r\n case 'application/vnd.openxmlformats-officedocument.presentationml.presentation':\r\n case 'application/vnd.ms-powerpoint':\r\n fileType = 'ppt';\r\n break;\r\n case 'text/plain':\r\n fileType = 'text';\r\n break;\r\n case 'video/mpeg':\r\n case 'video/mp4':\r\n case 'audio/mp4':\r\n fileType = 'video';\r\n break;\r\n case 'aplication/zip':\r\n fileType = 'zip';\r\n break;\r\n }\r\n\r\n return fileType as 'csv' | 'gif' | 'word' | 'excel' | 'jpg' | 'outlook' | 'pdf' | 'png' | 'ppt' | 'file' | 'text' | 'video' | 'zip';\r\n }\r\n\r\n private static _base64DecodeUnicode(str: any): string {\r\n return decodeURIComponent(Array.prototype.map.call(atob(str), (c: any) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join(''));\r\n }\r\n\r\n randomId(stringLength: number = 10): string {\r\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n let id = '';\r\n\r\n for (let i = 0; i < stringLength; i++) {\r\n id += chars.charAt(Math.floor(Math.random() * chars.length));\r\n }\r\n\r\n return id;\r\n }\r\n}\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-validators.mjs","sources":["../../../projects/cmat/validators/validators.ts","../../../projects/cmat/validators/cmat-validators.ts"],"sourcesContent":["import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport class CmatValidators {\r\n static isEmptyInputValue(value: any): boolean {\r\n return value == null || value.length === 0;\r\n }\r\n\r\n static mustMatch(controlPath: string, matchingControlPath: string): ValidatorFn {\r\n return (formGroup: AbstractControl): ValidationErrors | null => {\r\n\r\n // Get the control and matching control\r\n const control = formGroup.get(controlPath);\r\n const matchingControl = formGroup.get(matchingControlPath);\r\n\r\n // Return if control or matching control doesn't exist\r\n if (!control || !matchingControl) {\r\n return null;\r\n }\r\n\r\n // Delete the mustMatch error to reset the error on the matching control\r\n if (matchingControl.hasError('mustMatch')) {\r\n delete matchingControl.errors?.['mustMatch'];\r\n matchingControl.updateValueAndValidity();\r\n }\r\n\r\n // Don't validate empty values on the matching control\r\n // Don't validate if values are matching\r\n if (this.isEmptyInputValue(matchingControl.value) || control.value === matchingControl.value) {\r\n return null;\r\n }\r\n\r\n // Prepare the validation errors\r\n const errors = { mustMatch: true };\r\n\r\n // Set the validation error on the matching control\r\n matchingControl.setErrors(errors);\r\n\r\n // Return the errors\r\n return errors;\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"MAEa,cAAc,CAAA;IACvB,OAAO,iBAAiB,CAAC,KAAU,EAAA;QAC/B,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;KAC9C;AAED,IAAA,OAAO,SAAS,CAAC,WAAmB,EAAE,mBAA2B,EAAA;QAC7D,OAAO,CAAC,SAA0B,KAA6B;;YAG3D,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;;AAG3D,YAAA,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE;AAC9B,gBAAA,OAAO,IAAI,CAAC;AACf,aAAA;;AAGD,YAAA,IAAI,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AACvC,gBAAA,OAAO,eAAe,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;gBAC7C,eAAe,CAAC,sBAAsB,EAAE,CAAC;AAC5C,aAAA;;;AAID,YAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,EAAE;AAC1F,gBAAA,OAAO,IAAI,CAAC;AACf,aAAA;;AAGD,YAAA,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;AAGnC,YAAA,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;;AAGlC,YAAA,OAAO,MAAM,CAAC;AAClB,SAAC,CAAC;KACL;AACJ;;ACzCD;;AAEG;;;;"}
1
+ {"version":3,"file":"cmat-validators.mjs","sources":["../../../projects/cmat/validators/validators.ts","../../../projects/cmat/validators/cmat-validators.ts"],"sourcesContent":["import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport class CmatValidators {\r\n static isEmptyInputValue(value: any): boolean {\r\n return value == null || value.length === 0;\r\n }\r\n\r\n static mustMatch(controlPath: string, matchingControlPath: string): ValidatorFn {\r\n return (formGroup: AbstractControl): ValidationErrors | null => {\r\n\r\n // Get the control and matching control\r\n const control = formGroup.get(controlPath);\r\n const matchingControl = formGroup.get(matchingControlPath);\r\n\r\n // Return if control or matching control doesn't exist\r\n if (!control || !matchingControl) {\r\n return null;\r\n }\r\n\r\n // Delete the mustMatch error to reset the error on the matching control\r\n if (matchingControl.hasError('mustMatch')) {\r\n delete matchingControl.errors?.['mustMatch'];\r\n matchingControl.updateValueAndValidity();\r\n }\r\n\r\n // Don't validate empty values on the matching control\r\n // Don't validate if values are matching\r\n if (this.isEmptyInputValue(matchingControl.value) || control.value === matchingControl.value) {\r\n return null;\r\n }\r\n\r\n // Prepare the validation errors\r\n const errors = { mustMatch: true };\r\n\r\n // Set the validation error on the matching control\r\n matchingControl.setErrors(errors);\r\n\r\n // Return the errors\r\n return errors;\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"MAEa,cAAc,CAAA;IACvB,OAAO,iBAAiB,CAAC,KAAU,EAAA;QAC/B,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;KAC9C;AAED,IAAA,OAAO,SAAS,CAAC,WAAmB,EAAE,mBAA2B,EAAA;QAC7D,OAAO,CAAC,SAA0B,KAA6B;;YAG3D,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;;AAG3D,YAAA,IAAI,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE;AAC9B,gBAAA,OAAO,IAAI,CAAC;aACf;;AAGD,YAAA,IAAI,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AACvC,gBAAA,OAAO,eAAe,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;gBAC7C,eAAe,CAAC,sBAAsB,EAAE,CAAC;aAC5C;;;AAID,YAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,EAAE;AAC1F,gBAAA,OAAO,IAAI,CAAC;aACf;;AAGD,YAAA,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;AAGnC,YAAA,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;;AAGlC,YAAA,OAAO,MAAM,CAAC;AAClB,SAAC,CAAC;KACL;AACJ;;ACzCD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,29 +1,38 @@
1
1
  {
2
2
  "name": "cmat",
3
- "version": "0.0.13",
3
+ "version": "0.0.14",
4
4
  "author": {
5
5
  "name": "Yu Tao",
6
6
  "email": "916426364@qq.com"
7
7
  },
8
8
  "license": "UNLICENSED",
9
9
  "peerDependencies": {
10
- "@angular/animations": "^17.1.0",
11
- "@angular/cdk": "^17.1.0",
12
- "@angular/common": "^17.1.0",
13
- "@angular/core": "^17.1.0",
14
- "@angular/material": "^17.1.0",
15
- "crypto-js": "^4.2.0",
16
- "dayjs": "^1.11.10",
17
- "highlight.js": "^11.9.0",
10
+ "@angular/animations": "^18.0.0",
11
+ "@angular/cdk": "^18.0.0",
12
+ "@angular/common": "^18.0.0",
13
+ "@angular/compiler": "^18.0.0",
14
+ "@angular/core": "^18.0.0",
15
+ "@angular/forms": "^18.0.0",
16
+ "@angular/material": "^18.0.0",
17
+ "@ngx-formly/core": "^6.3.1",
18
+ "@ngx-formly/material": "^6.3.1",
18
19
  "@ngx-translate/core": "^15.0.0",
19
20
  "@ngx-translate/http-loader": "^8.0.0",
21
+ "animate.css": "^4.1.1",
22
+ "crypto-js": "^4.2.0",
23
+ "dayjs": "^1.11.11",
24
+ "highlight.js": "^11.9.0",
25
+ "ngx-quill": "^26.0.0",
26
+ "quill": "^2.0.2",
27
+ "quill-blot-formatter": "^1.0.5",
28
+ "quill-image-drop-and-paste": "^1.3.0",
20
29
  "rxjs": "~7.8.1",
21
- "vanilla-jsoneditor": "^0.21.3",
22
- "tailwind-scrollbar": "^3.0.5"
30
+ "tailwind-scrollbar": "^3.1.0",
31
+ "vanilla-jsoneditor": "^0.23.4"
23
32
  },
24
33
  "dependencies": {
25
- "tslib": "^2.6.2",
26
- "tailwindcss": "^3.4.1"
34
+ "tailwindcss": "^3.4.3",
35
+ "tslib": "^2.3.0"
27
36
  },
28
37
  "sideEffects": false,
29
38
  "module": "fesm2022/cmat.mjs",
@@ -56,24 +65,60 @@
56
65
  "esm": "./esm2022/version/cmat-version.mjs",
57
66
  "default": "./fesm2022/cmat-version.mjs"
58
67
  },
68
+ "./directives/animate-on-scroll": {
69
+ "types": "./directives/animate-on-scroll/index.d.ts",
70
+ "esm2022": "./esm2022/directives/animate-on-scroll/cmat-directives-animate-on-scroll.mjs",
71
+ "esm": "./esm2022/directives/animate-on-scroll/cmat-directives-animate-on-scroll.mjs",
72
+ "default": "./fesm2022/cmat-directives-animate-on-scroll.mjs"
73
+ },
74
+ "./directives/autofocus": {
75
+ "types": "./directives/autofocus/index.d.ts",
76
+ "esm2022": "./esm2022/directives/autofocus/cmat-directives-autofocus.mjs",
77
+ "esm": "./esm2022/directives/autofocus/cmat-directives-autofocus.mjs",
78
+ "default": "./fesm2022/cmat-directives-autofocus.mjs"
79
+ },
80
+ "./directives/debounce": {
81
+ "types": "./directives/debounce/index.d.ts",
82
+ "esm2022": "./esm2022/directives/debounce/cmat-directives-debounce.mjs",
83
+ "esm": "./esm2022/directives/debounce/cmat-directives-debounce.mjs",
84
+ "default": "./fesm2022/cmat-directives-debounce.mjs"
85
+ },
86
+ "./directives/digit-only": {
87
+ "types": "./directives/digit-only/index.d.ts",
88
+ "esm2022": "./esm2022/directives/digit-only/cmat-directives-digit-only.mjs",
89
+ "esm": "./esm2022/directives/digit-only/cmat-directives-digit-only.mjs",
90
+ "default": "./fesm2022/cmat-directives-digit-only.mjs"
91
+ },
92
+ "./directives/equal-validator": {
93
+ "types": "./directives/equal-validator/index.d.ts",
94
+ "esm2022": "./esm2022/directives/equal-validator/cmat-directives-equal-validator.mjs",
95
+ "esm": "./esm2022/directives/equal-validator/cmat-directives-equal-validator.mjs",
96
+ "default": "./fesm2022/cmat-directives-equal-validator.mjs"
97
+ },
98
+ "./lib/mock-api": {
99
+ "types": "./lib/mock-api/index.d.ts",
100
+ "esm2022": "./esm2022/lib/mock-api/cmat-lib-mock-api.mjs",
101
+ "esm": "./esm2022/lib/mock-api/cmat-lib-mock-api.mjs",
102
+ "default": "./fesm2022/cmat-lib-mock-api.mjs"
103
+ },
59
104
  "./components/adapter": {
60
105
  "types": "./components/adapter/index.d.ts",
61
106
  "esm2022": "./esm2022/components/adapter/cmat-components-adapter.mjs",
62
107
  "esm": "./esm2022/components/adapter/cmat-components-adapter.mjs",
63
108
  "default": "./fesm2022/cmat-components-adapter.mjs"
64
109
  },
65
- "./components/breadcrumb": {
66
- "types": "./components/breadcrumb/index.d.ts",
67
- "esm2022": "./esm2022/components/breadcrumb/cmat-components-breadcrumb.mjs",
68
- "esm": "./esm2022/components/breadcrumb/cmat-components-breadcrumb.mjs",
69
- "default": "./fesm2022/cmat-components-breadcrumb.mjs"
70
- },
71
110
  "./components/card": {
72
111
  "types": "./components/card/index.d.ts",
73
112
  "esm2022": "./esm2022/components/card/cmat-components-card.mjs",
74
113
  "esm": "./esm2022/components/card/cmat-components-card.mjs",
75
114
  "default": "./fesm2022/cmat-components-card.mjs"
76
115
  },
116
+ "./components/breadcrumb": {
117
+ "types": "./components/breadcrumb/index.d.ts",
118
+ "esm2022": "./esm2022/components/breadcrumb/cmat-components-breadcrumb.mjs",
119
+ "esm": "./esm2022/components/breadcrumb/cmat-components-breadcrumb.mjs",
120
+ "default": "./fesm2022/cmat-components-breadcrumb.mjs"
121
+ },
77
122
  "./components/cascade": {
78
123
  "types": "./components/cascade/index.d.ts",
79
124
  "esm2022": "./esm2022/components/cascade/cmat-components-cascade.mjs",
@@ -128,6 +173,12 @@
128
173
  "esm": "./esm2022/components/masonry/cmat-components-masonry.mjs",
129
174
  "default": "./fesm2022/cmat-components-masonry.mjs"
130
175
  },
176
+ "./components/navigation": {
177
+ "types": "./components/navigation/index.d.ts",
178
+ "esm2022": "./esm2022/components/navigation/cmat-components-navigation.mjs",
179
+ "esm": "./esm2022/components/navigation/cmat-components-navigation.mjs",
180
+ "default": "./fesm2022/cmat-components-navigation.mjs"
181
+ },
131
182
  "./components/material-color-picker": {
132
183
  "types": "./components/material-color-picker/index.d.ts",
133
184
  "esm2022": "./esm2022/components/material-color-picker/cmat-components-material-color-picker.mjs",
@@ -140,12 +191,6 @@
140
191
  "esm": "./esm2022/components/material-datetimepicker/cmat-components-material-datetimepicker.mjs",
141
192
  "default": "./fesm2022/cmat-components-material-datetimepicker.mjs"
142
193
  },
143
- "./components/navigation": {
144
- "types": "./components/navigation/index.d.ts",
145
- "esm2022": "./esm2022/components/navigation/cmat-components-navigation.mjs",
146
- "esm": "./esm2022/components/navigation/cmat-components-navigation.mjs",
147
- "default": "./fesm2022/cmat-components-navigation.mjs"
148
- },
149
194
  "./components/pagination": {
150
195
  "types": "./components/pagination/index.d.ts",
151
196
  "esm2022": "./esm2022/components/pagination/cmat-components-pagination.mjs",
@@ -194,6 +239,18 @@
194
239
  "esm": "./esm2022/components/timeline/cmat-components-timeline.mjs",
195
240
  "default": "./fesm2022/cmat-components-timeline.mjs"
196
241
  },
242
+ "./pipes/bytes": {
243
+ "types": "./pipes/bytes/index.d.ts",
244
+ "esm2022": "./esm2022/pipes/bytes/cmat-pipes-bytes.mjs",
245
+ "esm": "./esm2022/pipes/bytes/cmat-pipes-bytes.mjs",
246
+ "default": "./fesm2022/cmat-pipes-bytes.mjs"
247
+ },
248
+ "./pipes/date-format": {
249
+ "types": "./pipes/date-format/index.d.ts",
250
+ "esm2022": "./esm2022/pipes/date-format/cmat-pipes-date-format.mjs",
251
+ "esm": "./esm2022/pipes/date-format/cmat-pipes-date-format.mjs",
252
+ "default": "./fesm2022/cmat-pipes-date-format.mjs"
253
+ },
197
254
  "./components/toast": {
198
255
  "types": "./components/toast/index.d.ts",
199
256
  "esm2022": "./esm2022/components/toast/cmat-components-toast.mjs",
@@ -212,84 +269,18 @@
212
269
  "esm": "./esm2022/components/upload/cmat-components-upload.mjs",
213
270
  "default": "./fesm2022/cmat-components-upload.mjs"
214
271
  },
215
- "./directives/animate-on-scroll": {
216
- "types": "./directives/animate-on-scroll/index.d.ts",
217
- "esm2022": "./esm2022/directives/animate-on-scroll/cmat-directives-animate-on-scroll.mjs",
218
- "esm": "./esm2022/directives/animate-on-scroll/cmat-directives-animate-on-scroll.mjs",
219
- "default": "./fesm2022/cmat-directives-animate-on-scroll.mjs"
220
- },
221
- "./directives/autofocus": {
222
- "types": "./directives/autofocus/index.d.ts",
223
- "esm2022": "./esm2022/directives/autofocus/cmat-directives-autofocus.mjs",
224
- "esm": "./esm2022/directives/autofocus/cmat-directives-autofocus.mjs",
225
- "default": "./fesm2022/cmat-directives-autofocus.mjs"
226
- },
227
- "./directives/debounce": {
228
- "types": "./directives/debounce/index.d.ts",
229
- "esm2022": "./esm2022/directives/debounce/cmat-directives-debounce.mjs",
230
- "esm": "./esm2022/directives/debounce/cmat-directives-debounce.mjs",
231
- "default": "./fesm2022/cmat-directives-debounce.mjs"
232
- },
233
- "./directives/digit-only": {
234
- "types": "./directives/digit-only/index.d.ts",
235
- "esm2022": "./esm2022/directives/digit-only/cmat-directives-digit-only.mjs",
236
- "esm": "./esm2022/directives/digit-only/cmat-directives-digit-only.mjs",
237
- "default": "./fesm2022/cmat-directives-digit-only.mjs"
238
- },
239
- "./directives/equal-validator": {
240
- "types": "./directives/equal-validator/index.d.ts",
241
- "esm2022": "./esm2022/directives/equal-validator/cmat-directives-equal-validator.mjs",
242
- "esm": "./esm2022/directives/equal-validator/cmat-directives-equal-validator.mjs",
243
- "default": "./fesm2022/cmat-directives-equal-validator.mjs"
244
- },
245
- "./lib/mock-api": {
246
- "types": "./lib/mock-api/index.d.ts",
247
- "esm2022": "./esm2022/lib/mock-api/cmat-lib-mock-api.mjs",
248
- "esm": "./esm2022/lib/mock-api/cmat-lib-mock-api.mjs",
249
- "default": "./fesm2022/cmat-lib-mock-api.mjs"
250
- },
251
- "./pipes/bytes": {
252
- "types": "./pipes/bytes/index.d.ts",
253
- "esm2022": "./esm2022/pipes/bytes/cmat-pipes-bytes.mjs",
254
- "esm": "./esm2022/pipes/bytes/cmat-pipes-bytes.mjs",
255
- "default": "./fesm2022/cmat-pipes-bytes.mjs"
256
- },
257
- "./pipes/date-format": {
258
- "types": "./pipes/date-format/index.d.ts",
259
- "esm2022": "./esm2022/pipes/date-format/cmat-pipes-date-format.mjs",
260
- "esm": "./esm2022/pipes/date-format/cmat-pipes-date-format.mjs",
261
- "default": "./fesm2022/cmat-pipes-date-format.mjs"
262
- },
263
272
  "./pipes/find-by-key": {
264
273
  "types": "./pipes/find-by-key/index.d.ts",
265
274
  "esm2022": "./esm2022/pipes/find-by-key/cmat-pipes-find-by-key.mjs",
266
275
  "esm": "./esm2022/pipes/find-by-key/cmat-pipes-find-by-key.mjs",
267
276
  "default": "./fesm2022/cmat-pipes-find-by-key.mjs"
268
277
  },
269
- "./pipes/keys": {
270
- "types": "./pipes/keys/index.d.ts",
271
- "esm2022": "./esm2022/pipes/keys/cmat-pipes-keys.mjs",
272
- "esm": "./esm2022/pipes/keys/cmat-pipes-keys.mjs",
273
- "default": "./fesm2022/cmat-pipes-keys.mjs"
274
- },
275
278
  "./pipes/group-by": {
276
279
  "types": "./pipes/group-by/index.d.ts",
277
280
  "esm2022": "./esm2022/pipes/group-by/cmat-pipes-group-by.mjs",
278
281
  "esm": "./esm2022/pipes/group-by/cmat-pipes-group-by.mjs",
279
282
  "default": "./fesm2022/cmat-pipes-group-by.mjs"
280
283
  },
281
- "./pipes/secure": {
282
- "types": "./pipes/secure/index.d.ts",
283
- "esm2022": "./esm2022/pipes/secure/cmat-pipes-secure.mjs",
284
- "esm": "./esm2022/pipes/secure/cmat-pipes-secure.mjs",
285
- "default": "./fesm2022/cmat-pipes-secure.mjs"
286
- },
287
- "./pipes/uppercase": {
288
- "types": "./pipes/uppercase/index.d.ts",
289
- "esm2022": "./esm2022/pipes/uppercase/cmat-pipes-uppercase.mjs",
290
- "esm": "./esm2022/pipes/uppercase/cmat-pipes-uppercase.mjs",
291
- "default": "./fesm2022/cmat-pipes-uppercase.mjs"
292
- },
293
284
  "./services/alert": {
294
285
  "types": "./services/alert/index.d.ts",
295
286
  "esm2022": "./esm2022/services/alert/cmat-services-alert.mjs",
@@ -302,17 +293,35 @@
302
293
  "esm": "./esm2022/services/config/cmat-services-config.mjs",
303
294
  "default": "./fesm2022/cmat-services-config.mjs"
304
295
  },
296
+ "./services/confirmation": {
297
+ "types": "./services/confirmation/index.d.ts",
298
+ "esm2022": "./esm2022/services/confirmation/cmat-services-confirmation.mjs",
299
+ "esm": "./esm2022/services/confirmation/cmat-services-confirmation.mjs",
300
+ "default": "./fesm2022/cmat-services-confirmation.mjs"
301
+ },
302
+ "./pipes/secure": {
303
+ "types": "./pipes/secure/index.d.ts",
304
+ "esm2022": "./esm2022/pipes/secure/cmat-pipes-secure.mjs",
305
+ "esm": "./esm2022/pipes/secure/cmat-pipes-secure.mjs",
306
+ "default": "./fesm2022/cmat-pipes-secure.mjs"
307
+ },
308
+ "./pipes/keys": {
309
+ "types": "./pipes/keys/index.d.ts",
310
+ "esm2022": "./esm2022/pipes/keys/cmat-pipes-keys.mjs",
311
+ "esm": "./esm2022/pipes/keys/cmat-pipes-keys.mjs",
312
+ "default": "./fesm2022/cmat-pipes-keys.mjs"
313
+ },
305
314
  "./services/data": {
306
315
  "types": "./services/data/index.d.ts",
307
316
  "esm2022": "./esm2022/services/data/cmat-services-data.mjs",
308
317
  "esm": "./esm2022/services/data/cmat-services-data.mjs",
309
318
  "default": "./fesm2022/cmat-services-data.mjs"
310
319
  },
311
- "./services/confirmation": {
312
- "types": "./services/confirmation/index.d.ts",
313
- "esm2022": "./esm2022/services/confirmation/cmat-services-confirmation.mjs",
314
- "esm": "./esm2022/services/confirmation/cmat-services-confirmation.mjs",
315
- "default": "./fesm2022/cmat-services-confirmation.mjs"
320
+ "./pipes/uppercase": {
321
+ "types": "./pipes/uppercase/index.d.ts",
322
+ "esm2022": "./esm2022/pipes/uppercase/cmat-pipes-uppercase.mjs",
323
+ "esm": "./esm2022/pipes/uppercase/cmat-pipes-uppercase.mjs",
324
+ "default": "./fesm2022/cmat-pipes-uppercase.mjs"
316
325
  },
317
326
  "./services/loading": {
318
327
  "types": "./services/loading/index.d.ts",
@@ -332,18 +341,18 @@
332
341
  "esm": "./esm2022/services/media-watcher/cmat-services-media-watcher.mjs",
333
342
  "default": "./fesm2022/cmat-services-media-watcher.mjs"
334
343
  },
335
- "./services/platform": {
336
- "types": "./services/platform/index.d.ts",
337
- "esm2022": "./esm2022/services/platform/cmat-services-platform.mjs",
338
- "esm": "./esm2022/services/platform/cmat-services-platform.mjs",
339
- "default": "./fesm2022/cmat-services-platform.mjs"
340
- },
341
344
  "./services/splash-screen": {
342
345
  "types": "./services/splash-screen/index.d.ts",
343
346
  "esm2022": "./esm2022/services/splash-screen/cmat-services-splash-screen.mjs",
344
347
  "esm": "./esm2022/services/splash-screen/cmat-services-splash-screen.mjs",
345
348
  "default": "./fesm2022/cmat-services-splash-screen.mjs"
346
349
  },
350
+ "./services/platform": {
351
+ "types": "./services/platform/index.d.ts",
352
+ "esm2022": "./esm2022/services/platform/cmat-services-platform.mjs",
353
+ "esm": "./esm2022/services/platform/cmat-services-platform.mjs",
354
+ "default": "./fesm2022/cmat-services-platform.mjs"
355
+ },
347
356
  "./services/title": {
348
357
  "types": "./services/title/index.d.ts",
349
358
  "esm2022": "./esm2022/services/title/cmat-services-title.mjs",
@@ -614,7 +614,6 @@
614
614
  /* Chips */
615
615
  .mat-mdc-chip-set {
616
616
  width: 100%;
617
- margin: 0 -8px;
618
617
  }
619
618
  }
620
619
  }
@@ -0,0 +1,102 @@
1
+ /* ----------------------------------------------------------------------------------------------------- */
2
+ /* @ Quill editor overrides
3
+ /* ----------------------------------------------------------------------------------------------------- */
4
+ .ql-toolbar {
5
+ border-radius: 6px 6px 0 0;
6
+ padding: 0 !important;
7
+ @apply bg-slate-100;
8
+ @apply border-slate-300 border-opacity-100 #{!important};
9
+
10
+ .dark & {
11
+ background-color: rgba(0, 0, 0, 0.05);
12
+ @apply border-slate-500 #{!important};
13
+ }
14
+
15
+ .ql-formats {
16
+ margin: 11px 8px !important;
17
+ }
18
+
19
+ .ql-picker {
20
+
21
+ &.ql-expanded {
22
+
23
+ .ql-picker-label {
24
+ @apply border-slate-300;
25
+
26
+ .dark & {
27
+ @apply border-slate-500;
28
+ }
29
+ }
30
+
31
+ .ql-picker-options {
32
+ z-index: 10 !important;
33
+ @apply border-slate-300 bg-card;
34
+
35
+ .dark & {
36
+ @apply border-slate-500;
37
+ }
38
+ }
39
+ }
40
+
41
+ .ql-picker-label {
42
+ @apply text-default;
43
+ }
44
+
45
+ .ql-picker-options {
46
+
47
+ .ql-picker-item {
48
+ @apply text-default;
49
+ }
50
+ }
51
+ }
52
+
53
+ .ql-stroke,
54
+ .ql-stroke-mitter {
55
+ stroke: var(--cmat-icon);
56
+ }
57
+
58
+ .ql-fill {
59
+ fill: var(--cmat-icon);
60
+ }
61
+
62
+ button:hover,
63
+ button:focus,
64
+ button.ql-active,
65
+ .ql-picker-label:hover,
66
+ .ql-picker-label.ql-active,
67
+ .ql-picker-item:hover,
68
+ .ql-picker-item.ql-selected {
69
+ @apply text-primary #{!important};
70
+
71
+ .ql-stroke,
72
+ .ql-stroke-mitter {
73
+ stroke: var(--cmat-primary) !important;
74
+ }
75
+
76
+ .ql-fill {
77
+ fill: var(--cmat-primary) !important;
78
+ }
79
+ }
80
+ }
81
+
82
+ .ql-container {
83
+ border-radius: 0 0 6px 6px;
84
+ @apply border-slate-300 border-opacity-100 shadow-sm #{!important};
85
+
86
+ .dark & {
87
+ @apply border-slate-500 #{!important};
88
+ }
89
+
90
+ .ql-editor {
91
+ border-radius: 6px;
92
+ @apply bg-card;
93
+
94
+ .dark & {
95
+ background-color: rgba(0, 0, 0, 0.05);
96
+ }
97
+
98
+ &.ql-blank::before {
99
+ @apply text-hint;
100
+ }
101
+ }
102
+ }