cmat 0.0.28 → 0.0.30

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 (483) hide show
  1. package/animations/index.d.ts +5 -5
  2. package/components/adapter/index.d.ts +187 -5
  3. package/components/breadcrumb/index.d.ts +243 -3
  4. package/components/card/index.d.ts +20 -5
  5. package/components/carousel/index.d.ts +175 -5
  6. package/components/cascade/index.d.ts +101 -5
  7. package/components/chip-input/index.d.ts +65 -5
  8. package/components/custom-formly/index.d.ts +669 -5
  9. package/components/date-range/index.d.ts +139 -5
  10. package/components/drawer/index.d.ts +101 -5
  11. package/components/fullscreen/index.d.ts +13 -5
  12. package/components/highlight/index.d.ts +28 -5
  13. package/components/image-viewer/index.d.ts +78 -5
  14. package/components/json-editor/index.d.ts +27 -5
  15. package/components/knob-input/index.d.ts +98 -5
  16. package/components/masonry/index.d.ts +16 -5
  17. package/components/material-color-picker/index.d.ts +46 -5
  18. package/components/material-datetimepicker/index.d.ts +752 -3
  19. package/components/navigation/index.d.ts +314 -5
  20. package/components/opt-input/index.d.ts +87 -5
  21. package/components/org-chart/index.d.ts +38 -5
  22. package/components/pagination/index.d.ts +119 -5
  23. package/components/password-strength/index.d.ts +92 -5
  24. package/components/popover/index.d.ts +289 -3
  25. package/components/progress-bar/index.d.ts +19 -5
  26. package/components/rating/index.d.ts +61 -5
  27. package/components/select-search/index.d.ts +108 -5
  28. package/components/select-table/index.d.ts +120 -5
  29. package/components/select-tree/index.d.ts +120 -5
  30. package/components/speed-dial/index.d.ts +66 -5
  31. package/components/timeline/index.d.ts +56 -5
  32. package/components/toast/index.d.ts +84 -5
  33. package/components/transfer-picker/index.d.ts +188 -3
  34. package/components/treetable/index.d.ts +43 -5
  35. package/components/upload/index.d.ts +111 -5
  36. package/components/x6-angular-shape/index.d.ts +43 -5
  37. package/directives/animate-on-scroll/index.d.ts +30 -5
  38. package/directives/arrow-cursor/index.d.ts +32 -5
  39. package/directives/autofocus/index.d.ts +11 -5
  40. package/directives/data-exporter/index.d.ts +41 -5
  41. package/directives/debounce/index.d.ts +32 -5
  42. package/directives/digit-only/index.d.ts +54 -5
  43. package/directives/equal-validator/index.d.ts +14 -5
  44. package/fesm2022/cmat-components-adapter.mjs +22 -39
  45. package/fesm2022/cmat-components-adapter.mjs.map +1 -1
  46. package/fesm2022/cmat-components-breadcrumb.mjs +19 -21
  47. package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
  48. package/fesm2022/cmat-components-card.mjs +3 -3
  49. package/fesm2022/cmat-components-carousel.mjs +116 -133
  50. package/fesm2022/cmat-components-carousel.mjs.map +1 -1
  51. package/fesm2022/cmat-components-cascade.mjs +61 -73
  52. package/fesm2022/cmat-components-cascade.mjs.map +1 -1
  53. package/fesm2022/cmat-components-chip-input.mjs +14 -18
  54. package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
  55. package/fesm2022/cmat-components-custom-formly.mjs +176 -178
  56. package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
  57. package/fesm2022/cmat-components-date-range.mjs +18 -18
  58. package/fesm2022/cmat-components-date-range.mjs.map +1 -1
  59. package/fesm2022/cmat-components-drawer.mjs +17 -19
  60. package/fesm2022/cmat-components-drawer.mjs.map +1 -1
  61. package/fesm2022/cmat-components-fullscreen.mjs +8 -11
  62. package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
  63. package/fesm2022/cmat-components-highlight.mjs +14 -14
  64. package/fesm2022/cmat-components-highlight.mjs.map +1 -1
  65. package/fesm2022/cmat-components-image-viewer.mjs +10 -13
  66. package/fesm2022/cmat-components-image-viewer.mjs.map +1 -1
  67. package/fesm2022/cmat-components-json-editor.mjs +7 -7
  68. package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
  69. package/fesm2022/cmat-components-knob-input.mjs +13 -20
  70. package/fesm2022/cmat-components-knob-input.mjs.map +1 -1
  71. package/fesm2022/cmat-components-masonry.mjs +3 -3
  72. package/fesm2022/cmat-components-material-color-picker.mjs +8 -7
  73. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  74. package/fesm2022/cmat-components-material-datetimepicker.mjs +168 -220
  75. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  76. package/fesm2022/cmat-components-navigation.mjs +115 -119
  77. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  78. package/fesm2022/cmat-components-opt-input.mjs +15 -22
  79. package/fesm2022/cmat-components-opt-input.mjs.map +1 -1
  80. package/fesm2022/cmat-components-org-chart.mjs +9 -9
  81. package/fesm2022/cmat-components-org-chart.mjs.map +1 -1
  82. package/fesm2022/cmat-components-pagination.mjs +34 -40
  83. package/fesm2022/cmat-components-pagination.mjs.map +1 -1
  84. package/fesm2022/cmat-components-password-strength.mjs +15 -15
  85. package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
  86. package/fesm2022/cmat-components-popover.mjs +27 -32
  87. package/fesm2022/cmat-components-popover.mjs.map +1 -1
  88. package/fesm2022/cmat-components-progress-bar.mjs +10 -10
  89. package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
  90. package/fesm2022/cmat-components-rating.mjs +10 -14
  91. package/fesm2022/cmat-components-rating.mjs.map +1 -1
  92. package/fesm2022/cmat-components-select-search.mjs +30 -53
  93. package/fesm2022/cmat-components-select-search.mjs.map +1 -1
  94. package/fesm2022/cmat-components-select-table.mjs +28 -33
  95. package/fesm2022/cmat-components-select-table.mjs.map +1 -1
  96. package/fesm2022/cmat-components-select-tree.mjs +55 -61
  97. package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
  98. package/fesm2022/cmat-components-speed-dial.mjs +16 -19
  99. package/fesm2022/cmat-components-speed-dial.mjs.map +1 -1
  100. package/fesm2022/cmat-components-timeline.mjs +18 -20
  101. package/fesm2022/cmat-components-timeline.mjs.map +1 -1
  102. package/fesm2022/cmat-components-toast.mjs +16 -16
  103. package/fesm2022/cmat-components-toast.mjs.map +1 -1
  104. package/fesm2022/cmat-components-transfer-picker.mjs +49 -49
  105. package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
  106. package/fesm2022/cmat-components-treetable.mjs +11 -12
  107. package/fesm2022/cmat-components-treetable.mjs.map +1 -1
  108. package/fesm2022/cmat-components-upload.mjs +33 -34
  109. package/fesm2022/cmat-components-upload.mjs.map +1 -1
  110. package/fesm2022/cmat-directives-animate-on-scroll.mjs +13 -14
  111. package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
  112. package/fesm2022/cmat-directives-arrow-cursor.mjs +11 -15
  113. package/fesm2022/cmat-directives-arrow-cursor.mjs.map +1 -1
  114. package/fesm2022/cmat-directives-autofocus.mjs +8 -9
  115. package/fesm2022/cmat-directives-autofocus.mjs.map +1 -1
  116. package/fesm2022/cmat-directives-data-exporter.mjs +29 -31
  117. package/fesm2022/cmat-directives-data-exporter.mjs.map +1 -1
  118. package/fesm2022/cmat-directives-debounce.mjs +11 -13
  119. package/fesm2022/cmat-directives-debounce.mjs.map +1 -1
  120. package/fesm2022/cmat-directives-digit-only.mjs +17 -17
  121. package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
  122. package/fesm2022/cmat-directives-equal-validator.mjs +9 -16
  123. package/fesm2022/cmat-directives-equal-validator.mjs.map +1 -1
  124. package/fesm2022/cmat-lib-mock-api.mjs +11 -14
  125. package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
  126. package/fesm2022/cmat-pipes-bytes.mjs +4 -5
  127. package/fesm2022/cmat-pipes-bytes.mjs.map +1 -1
  128. package/fesm2022/cmat-pipes-date-format.mjs +4 -5
  129. package/fesm2022/cmat-pipes-date-format.mjs.map +1 -1
  130. package/fesm2022/cmat-pipes-find-by-key.mjs +4 -5
  131. package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
  132. package/fesm2022/cmat-pipes-group-by.mjs +4 -5
  133. package/fesm2022/cmat-pipes-group-by.mjs.map +1 -1
  134. package/fesm2022/cmat-pipes-keys.mjs +4 -5
  135. package/fesm2022/cmat-pipes-keys.mjs.map +1 -1
  136. package/fesm2022/cmat-pipes-secure.mjs +13 -14
  137. package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
  138. package/fesm2022/cmat-pipes-uppercase.mjs +4 -5
  139. package/fesm2022/cmat-pipes-uppercase.mjs.map +1 -1
  140. package/fesm2022/cmat-services-alert.mjs +7 -16
  141. package/fesm2022/cmat-services-alert.mjs.map +1 -1
  142. package/fesm2022/cmat-services-config.mjs +10 -12
  143. package/fesm2022/cmat-services-config.mjs.map +1 -1
  144. package/fesm2022/cmat-services-confirmation.mjs +17 -20
  145. package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
  146. package/fesm2022/cmat-services-data.mjs +10 -11
  147. package/fesm2022/cmat-services-data.mjs.map +1 -1
  148. package/fesm2022/cmat-services-export-as.mjs +3 -3
  149. package/fesm2022/cmat-services-loading.mjs +14 -14
  150. package/fesm2022/cmat-services-loading.mjs.map +1 -1
  151. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  152. package/fesm2022/cmat-services-media-watcher.mjs +10 -10
  153. package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
  154. package/fesm2022/cmat-services-platform.mjs +8 -8
  155. package/fesm2022/cmat-services-platform.mjs.map +1 -1
  156. package/fesm2022/cmat-services-splash-screen.mjs +9 -14
  157. package/fesm2022/cmat-services-splash-screen.mjs.map +1 -1
  158. package/fesm2022/cmat-services-title.mjs +10 -11
  159. package/fesm2022/cmat-services-title.mjs.map +1 -1
  160. package/fesm2022/cmat-services-translation.mjs +8 -8
  161. package/fesm2022/cmat-services-translation.mjs.map +1 -1
  162. package/fesm2022/cmat-services-utils.mjs +5 -5
  163. package/fesm2022/cmat-services-utils.mjs.map +1 -1
  164. package/index.d.ts +2 -5
  165. package/lib/mock-api/index.d.ts +60 -5
  166. package/package.json +71 -71
  167. package/pipes/bytes/index.d.ts +10 -5
  168. package/pipes/date-format/index.d.ts +10 -5
  169. package/pipes/find-by-key/index.d.ts +10 -5
  170. package/pipes/group-by/index.d.ts +10 -5
  171. package/pipes/keys/index.d.ts +10 -5
  172. package/pipes/secure/index.d.ts +19 -5
  173. package/pipes/uppercase/index.d.ts +10 -5
  174. package/services/alert/index.d.ts +69 -5
  175. package/services/config/index.d.ts +30 -5
  176. package/services/confirmation/index.d.ts +42 -5
  177. package/services/data/index.d.ts +21 -5
  178. package/services/export-as/index.d.ts +55 -5
  179. package/services/loading/index.d.ts +35 -5
  180. package/services/local-storage/index.d.ts +11 -5
  181. package/services/media-watcher/index.d.ts +22 -5
  182. package/services/platform/index.d.ts +11 -5
  183. package/services/splash-screen/index.d.ts +16 -5
  184. package/services/title/index.d.ts +14 -5
  185. package/services/translation/index.d.ts +22 -5
  186. package/services/utils/index.d.ts +63 -5
  187. package/styles/themes.scss +2 -1
  188. package/validators/index.d.ts +8 -5
  189. package/version/index.d.ts +11 -5
  190. package/animations/defaults.d.ts +0 -11
  191. package/animations/dropdown.d.ts +0 -2
  192. package/animations/expand-collapse.d.ts +0 -2
  193. package/animations/fade.d.ts +0 -11
  194. package/animations/public-api.d.ts +0 -1
  195. package/animations/shake.d.ts +0 -2
  196. package/animations/slide.d.ts +0 -9
  197. package/animations/transform.d.ts +0 -2
  198. package/animations/zoom.d.ts +0 -3
  199. package/components/adapter/datetime-adapter.d.ts +0 -45
  200. package/components/adapter/datetime-formats.d.ts +0 -22
  201. package/components/adapter/dayjs-date-adapter.d.ts +0 -63
  202. package/components/adapter/dayjs-date-formats.d.ts +0 -2
  203. package/components/adapter/dayjs-datetime-adapter.d.ts +0 -22
  204. package/components/adapter/dayjs-datetime-formats.d.ts +0 -2
  205. package/components/adapter/native-datetime-adapter.d.ts +0 -31
  206. package/components/adapter/native-datetime-formats.d.ts +0 -2
  207. package/components/adapter/public-api.d.ts +0 -8
  208. package/components/breadcrumb/breadcrumb-item.directive.d.ts +0 -10
  209. package/components/breadcrumb/breadcrumb.component.d.ts +0 -55
  210. package/components/breadcrumb/breadcrumb.service.d.ts +0 -126
  211. package/components/breadcrumb/public-api.d.ts +0 -5
  212. package/components/breadcrumb/types/breadcrumb.config.d.ts +0 -33
  213. package/components/breadcrumb/types/breadcrumb.d.ts +0 -23
  214. package/components/card/card.component.d.ts +0 -15
  215. package/components/card/card.types.d.ts +0 -1
  216. package/components/card/public-api.d.ts +0 -2
  217. package/components/carousel/carousel.component.d.ts +0 -136
  218. package/components/carousel/carousel.interface.d.ts +0 -38
  219. package/components/carousel/public-api.d.ts +0 -2
  220. package/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.d.ts +0 -13
  221. package/components/cascade/cascade-list/cascade-list.component.d.ts +0 -79
  222. package/components/cascade/cascade-menu/cascade-menu.component.d.ts +0 -8
  223. package/components/cascade/options.interface.d.ts +0 -8
  224. package/components/cascade/public-api.d.ts +0 -3
  225. package/components/chip-input/chip-input.component.d.ts +0 -62
  226. package/components/chip-input/public-api.d.ts +0 -1
  227. package/components/custom-formly/extension/addons.extension.d.ts +0 -2
  228. package/components/custom-formly/public-api.d.ts +0 -30
  229. package/components/custom-formly/types/button/button.component.d.ts +0 -34
  230. package/components/custom-formly/types/cascade/cascade.component.d.ts +0 -39
  231. package/components/custom-formly/types/checklist/checklist.component.d.ts +0 -42
  232. package/components/custom-formly/types/chips/chips.component.d.ts +0 -28
  233. package/components/custom-formly/types/color-picker/color-picker.component.d.ts +0 -7
  234. package/components/custom-formly/types/date-range/date-range.component.d.ts +0 -21
  235. package/components/custom-formly/types/datepicker/datepicker.component.d.ts +0 -42
  236. package/components/custom-formly/types/knob/knob.component.d.ts +0 -36
  237. package/components/custom-formly/types/multicheckbox/multicheckbox.component.d.ts +0 -44
  238. package/components/custom-formly/types/number/number.component.d.ts +0 -21
  239. package/components/custom-formly/types/quill/quill.component.d.ts +0 -43
  240. package/components/custom-formly/types/radio/radio.component.d.ts +0 -44
  241. package/components/custom-formly/types/rating/rating.component.d.ts +0 -25
  242. package/components/custom-formly/types/repeat/repeat.component.d.ts +0 -16
  243. package/components/custom-formly/types/select/select.component.d.ts +0 -54
  244. package/components/custom-formly/types/select-table/select-table.component.d.ts +0 -40
  245. package/components/custom-formly/types/select-tree/select-tree.component.d.ts +0 -43
  246. package/components/custom-formly/types/stepper/horizontal/stepper.component.d.ts +0 -8
  247. package/components/custom-formly/types/stepper/stepper.type.d.ts +0 -6
  248. package/components/custom-formly/types/stepper/vertical/stepper.component.d.ts +0 -8
  249. package/components/custom-formly/types/table/table.component.d.ts +0 -43
  250. package/components/custom-formly/types/tabs/tab.component.d.ts +0 -7
  251. package/components/custom-formly/types/tags/tags.component.d.ts +0 -41
  252. package/components/custom-formly/types/textarea/textarea.component.d.ts +0 -13
  253. package/components/custom-formly/types/upload/upload.component.d.ts +0 -32
  254. package/components/custom-formly/wrappers/addons/addons.component.d.ts +0 -10
  255. package/components/custom-formly/wrappers/card/card.component.d.ts +0 -6
  256. package/components/custom-formly/wrappers/expansion/expansion.component.d.ts +0 -6
  257. package/components/custom-formly/wrappers/form-field/form-field.component.d.ts +0 -25
  258. package/components/custom-formly/wrappers/panel/panel.component.d.ts +0 -6
  259. package/components/date-range/date-range.component.d.ts +0 -137
  260. package/components/date-range/public-api.d.ts +0 -1
  261. package/components/drawer/drawer.component.d.ts +0 -75
  262. package/components/drawer/drawer.service.d.ts +0 -26
  263. package/components/drawer/drawer.types.d.ts +0 -2
  264. package/components/drawer/public-api.d.ts +0 -3
  265. package/components/fullscreen/fullscreen.component.d.ts +0 -11
  266. package/components/fullscreen/public-api.d.ts +0 -1
  267. package/components/highlight/highlight.component.d.ts +0 -21
  268. package/components/highlight/highlight.service.d.ts +0 -7
  269. package/components/highlight/public-api.d.ts +0 -2
  270. package/components/image-viewer/image-viewer.component.d.ts +0 -76
  271. package/components/image-viewer/public-api.d.ts +0 -1
  272. package/components/json-editor/json-editor.component.d.ts +0 -25
  273. package/components/json-editor/public-api.d.ts +0 -1
  274. package/components/knob-input/knob-input.component.d.ts +0 -95
  275. package/components/knob-input/public-api.d.ts +0 -1
  276. package/components/masonry/masonry.component.d.ts +0 -13
  277. package/components/masonry/public-api.d.ts +0 -1
  278. package/components/material-color-picker/base-color.d.ts +0 -2
  279. package/components/material-color-picker/material-color-picker.component.d.ts +0 -38
  280. package/components/material-color-picker/public-api.d.ts +0 -2
  281. package/components/material-color-picker/selected-color.d.ts +0 -5
  282. package/components/material-datetimepicker/calendar-body.d.ts +0 -42
  283. package/components/material-datetimepicker/calendar.d.ts +0 -145
  284. package/components/material-datetimepicker/clock.d.ts +0 -73
  285. package/components/material-datetimepicker/datetimepicker-animations.d.ts +0 -4
  286. package/components/material-datetimepicker/datetimepicker-errors.d.ts +0 -1
  287. package/components/material-datetimepicker/datetimepicker-filtertype.d.ts +0 -5
  288. package/components/material-datetimepicker/datetimepicker-input.d.ts +0 -106
  289. package/components/material-datetimepicker/datetimepicker-intl.d.ts +0 -51
  290. package/components/material-datetimepicker/datetimepicker-toggle.d.ts +0 -40
  291. package/components/material-datetimepicker/datetimepicker-types.d.ts +0 -13
  292. package/components/material-datetimepicker/datetimepicker.d.ts +0 -190
  293. package/components/material-datetimepicker/month-view.d.ts +0 -62
  294. package/components/material-datetimepicker/multi-year-view.d.ts +0 -74
  295. package/components/material-datetimepicker/public-api.d.ts +0 -10
  296. package/components/material-datetimepicker/time.d.ts +0 -129
  297. package/components/material-datetimepicker/year-view.d.ts +0 -56
  298. package/components/navigation/horizontal/components/basic/basic.component.d.ts +0 -27
  299. package/components/navigation/horizontal/components/branch/branch.component.d.ts +0 -39
  300. package/components/navigation/horizontal/components/divider/divider.component.d.ts +0 -23
  301. package/components/navigation/horizontal/components/spacer/spacer.component.d.ts +0 -23
  302. package/components/navigation/horizontal/horizontal.component.d.ts +0 -43
  303. package/components/navigation/navigation.service.d.ts +0 -71
  304. package/components/navigation/navigation.types.d.ts +0 -34
  305. package/components/navigation/public-api.d.ts +0 -4
  306. package/components/navigation/vertical/components/aside/aside.component.d.ts +0 -63
  307. package/components/navigation/vertical/components/basic/basic.component.d.ts +0 -24
  308. package/components/navigation/vertical/components/collapsable/collapsable.component.d.ts +0 -74
  309. package/components/navigation/vertical/components/divider/divider.component.d.ts +0 -26
  310. package/components/navigation/vertical/components/group/group.component.d.ts +0 -36
  311. package/components/navigation/vertical/components/spacer/spacer.component.d.ts +0 -26
  312. package/components/navigation/vertical/vertical.component.d.ts +0 -176
  313. package/components/opt-input/models/config.d.ts +0 -14
  314. package/components/opt-input/otp-input.component.d.ts +0 -70
  315. package/components/opt-input/public-api.d.ts +0 -1
  316. package/components/opt-input/utils/keyboard-util.d.ts +0 -9
  317. package/components/opt-input/utils/object-util.d.ts +0 -3
  318. package/components/org-chart/designer/chart-designer.component.d.ts +0 -17
  319. package/components/org-chart/node/chart-node.component.d.ts +0 -17
  320. package/components/org-chart/node/node.type.d.ts +0 -22
  321. package/components/org-chart/org-chart.component.d.ts +0 -12
  322. package/components/org-chart/public-api.d.ts +0 -2
  323. package/components/pagination/pagination.component.d.ts +0 -23
  324. package/components/pagination/pagination.directive.d.ts +0 -40
  325. package/components/pagination/pagination.instance.d.ts +0 -11
  326. package/components/pagination/pagination.pipe.d.ts +0 -29
  327. package/components/pagination/pagination.service.d.ts +0 -20
  328. package/components/pagination/public-api.d.ts +0 -5
  329. package/components/password-strength/animations/index.d.ts +0 -4
  330. package/components/password-strength/enum.d.ts +0 -13
  331. package/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.d.ts +0 -11
  332. package/components/password-strength/mat-password-strength/mat-password-strength.component.d.ts +0 -52
  333. package/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.d.ts +0 -16
  334. package/components/password-strength/mat-password-strength-validator.d.ts +0 -6
  335. package/components/password-strength/public-api.d.ts +0 -3
  336. package/components/password-strength/regexp.class.d.ts +0 -6
  337. package/components/popover/popover-trigger.d.ts +0 -121
  338. package/components/popover/popover.component.d.ts +0 -136
  339. package/components/popover/popover.errors.d.ts +0 -14
  340. package/components/popover/popover.interfaces.d.ts +0 -43
  341. package/components/popover/popover.target.d.ts +0 -8
  342. package/components/popover/popover.type.d.ts +0 -5
  343. package/components/popover/public-api.d.ts +0 -4
  344. package/components/progress-bar/progress-bar.component.d.ts +0 -18
  345. package/components/progress-bar/public-api.d.ts +0 -1
  346. package/components/rating/public-api.d.ts +0 -1
  347. package/components/rating/rating.component.d.ts +0 -58
  348. package/components/select-search/default-options.d.ts +0 -8
  349. package/components/select-search/public-api.d.ts +0 -2
  350. package/components/select-search/select-no-entries-found.directive.d.ts +0 -5
  351. package/components/select-search/select-search-clear.directive.d.ts +0 -5
  352. package/components/select-search/select-search.component.d.ts +0 -91
  353. package/components/select-table/public-api.d.ts +0 -2
  354. package/components/select-table/select-table.component.d.ts +0 -96
  355. package/components/select-table/select-table.type.d.ts +0 -20
  356. package/components/select-tree/public-api.d.ts +0 -3
  357. package/components/select-tree/select-tree.component.d.ts +0 -105
  358. package/components/select-tree/select-tree.flatnode.d.ts +0 -6
  359. package/components/select-tree/select-tree.node.d.ts +0 -5
  360. package/components/speed-dial/public-api.d.ts +0 -2
  361. package/components/speed-dial/speed-dial.component.d.ts +0 -63
  362. package/components/timeline/public-api.d.ts +0 -2
  363. package/components/timeline/timeline-item/timeline-item.component.d.ts +0 -25
  364. package/components/timeline/timeline.component.d.ts +0 -30
  365. package/components/toast/models/global-config.model.d.ts +0 -12
  366. package/components/toast/models/toast.model.d.ts +0 -6
  367. package/components/toast/models/type.model.d.ts +0 -12
  368. package/components/toast/public-api.d.ts +0 -6
  369. package/components/toast/toast-modal.component.d.ts +0 -18
  370. package/components/toast/toast.component.d.ts +0 -17
  371. package/components/toast/toast.service.d.ts +0 -26
  372. package/components/transfer-picker/filter/filter.component.d.ts +0 -23
  373. package/components/transfer-picker/interface.d.ts +0 -41
  374. package/components/transfer-picker/public-api.d.ts +0 -7
  375. package/components/transfer-picker/search/search.component.d.ts +0 -14
  376. package/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.d.ts +0 -51
  377. package/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.d.ts +0 -11
  378. package/components/transfer-picker/transfer-picker.component.d.ts +0 -28
  379. package/components/transfer-picker/transfer-picker.service.d.ts +0 -32
  380. package/components/treetable/public-api.d.ts +0 -2
  381. package/components/treetable/treetable.component.d.ts +0 -32
  382. package/components/treetable/treetable.interface.d.ts +0 -9
  383. package/components/upload/files.type.d.ts +0 -22
  384. package/components/upload/files.util.service.d.ts +0 -20
  385. package/components/upload/public-api.d.ts +0 -4
  386. package/components/upload/upload-queue/upload-queue.component.d.ts +0 -40
  387. package/components/upload/upload.component.d.ts +0 -32
  388. package/components/x6-angular-shape/node.d.ts +0 -11
  389. package/components/x6-angular-shape/public-api.d.ts +0 -3
  390. package/components/x6-angular-shape/registry.d.ts +0 -13
  391. package/components/x6-angular-shape/view.d.ts +0 -16
  392. package/directives/animate-on-scroll/animate-on-scroll.directive.d.ts +0 -29
  393. package/directives/animate-on-scroll/public-api.d.ts +0 -1
  394. package/directives/animate-on-scroll/scroll.service.d.ts +0 -15
  395. package/directives/arrow-cursor/arrow-cursor.directive.d.ts +0 -31
  396. package/directives/arrow-cursor/public-api.d.ts +0 -1
  397. package/directives/autofocus/autofocus.directive.d.ts +0 -8
  398. package/directives/autofocus/public-api.d.ts +0 -1
  399. package/directives/data-exporter/constants.d.ts +0 -26
  400. package/directives/data-exporter/data-exporter.directive.d.ts +0 -18
  401. package/directives/data-exporter/mime.d.ts +0 -5
  402. package/directives/data-exporter/options.d.ts +0 -21
  403. package/directives/data-exporter/public-api.d.ts +0 -2
  404. package/directives/data-exporter/services/exporters/csv-exporter.service.d.ts +0 -12
  405. package/directives/data-exporter/services/exporters/exporter.d.ts +0 -4
  406. package/directives/data-exporter/services/exporters/file-exporter.d.ts +0 -8
  407. package/directives/data-exporter/services/exporters/json-exporter.service.d.ts +0 -11
  408. package/directives/data-exporter/services/exporters/txt-exporter.service.d.ts +0 -12
  409. package/directives/data-exporter/services/exporters/worksheet-exporter.d.ts +0 -10
  410. package/directives/data-exporter/services/exporters/xls-exporter.service.d.ts +0 -14
  411. package/directives/data-exporter/services/exporters/xlsx-exporter.service.d.ts +0 -9
  412. package/directives/data-exporter/services/file-util.d.ts +0 -8
  413. package/directives/data-exporter/services/service-locator.service.d.ts +0 -11
  414. package/directives/debounce/abstract-debounce.directive.d.ts +0 -15
  415. package/directives/debounce/debounce-click.directive.d.ts +0 -8
  416. package/directives/debounce/debounce-keyup.directive.d.ts +0 -8
  417. package/directives/debounce/public-api.d.ts +0 -2
  418. package/directives/digit-only/digit-only.directive.d.ts +0 -36
  419. package/directives/digit-only/mask.directive.d.ts +0 -16
  420. package/directives/digit-only/public-api.d.ts +0 -2
  421. package/directives/equal-validator/equal-validator.directive.d.ts +0 -12
  422. package/directives/equal-validator/public-api.d.ts +0 -1
  423. package/lib/mock-api/mock-api.constants.d.ts +0 -2
  424. package/lib/mock-api/mock-api.interceptor.d.ts +0 -12
  425. package/lib/mock-api/mock-api.request-handler.d.ts +0 -16
  426. package/lib/mock-api/mock-api.service.d.ts +0 -20
  427. package/lib/mock-api/mock-api.types.d.ts +0 -7
  428. package/lib/mock-api/mock-api.utils.d.ts +0 -3
  429. package/lib/mock-api/public-api.d.ts +0 -5
  430. package/pipes/bytes/bytes.pipe.d.ts +0 -7
  431. package/pipes/bytes/public-api.d.ts +0 -1
  432. package/pipes/date-format/date-format.pipe.d.ts +0 -7
  433. package/pipes/date-format/public-api.d.ts +0 -1
  434. package/pipes/find-by-key/find-by-key.pipe.d.ts +0 -7
  435. package/pipes/find-by-key/public-api.d.ts +0 -1
  436. package/pipes/group-by/group-by.pipe.d.ts +0 -7
  437. package/pipes/group-by/public-api.d.ts +0 -1
  438. package/pipes/keys/keys.pipe.d.ts +0 -7
  439. package/pipes/keys/public-api.d.ts +0 -1
  440. package/pipes/secure/public-api.d.ts +0 -1
  441. package/pipes/secure/secure-pipe.d.ts +0 -18
  442. package/pipes/uppercase/public-api.d.ts +0 -1
  443. package/pipes/uppercase/uppercase.pipe.d.ts +0 -7
  444. package/public-api.d.ts +0 -1
  445. package/services/alert/alert.dialog.d.ts +0 -11
  446. package/services/alert/alert.message.d.ts +0 -8
  447. package/services/alert/alert.service.d.ts +0 -37
  448. package/services/alert/enum.d.ts +0 -12
  449. package/services/alert/public-api.d.ts +0 -4
  450. package/services/config/config.constants.d.ts +0 -6
  451. package/services/config/config.service.d.ts +0 -11
  452. package/services/config/public-api.d.ts +0 -3
  453. package/services/config/urlStateConfig.service.d.ts +0 -10
  454. package/services/confirmation/confirmation.service.d.ts +0 -12
  455. package/services/confirmation/confirmation.types.d.ts +0 -21
  456. package/services/confirmation/dialog/dialog.component.d.ts +0 -10
  457. package/services/confirmation/public-api.d.ts +0 -2
  458. package/services/data/data.service.d.ts +0 -20
  459. package/services/data/public-api.d.ts +0 -1
  460. package/services/export-as/export-as-config.model.d.ts +0 -8
  461. package/services/export-as/export-as.service.d.ts +0 -43
  462. package/services/export-as/public-api.d.ts +0 -2
  463. package/services/loading/loading.interceptor.d.ts +0 -12
  464. package/services/loading/loading.service.d.ts +0 -24
  465. package/services/loading/public-api.d.ts +0 -2
  466. package/services/local-storage/local-storage.service.d.ts +0 -8
  467. package/services/local-storage/public-api.d.ts +0 -1
  468. package/services/media-watcher/media-watcher.service.d.ts +0 -20
  469. package/services/media-watcher/public-api.d.ts +0 -1
  470. package/services/platform/platform.service.d.ts +0 -9
  471. package/services/platform/public-api.d.ts +0 -1
  472. package/services/splash-screen/public-api.d.ts +0 -1
  473. package/services/splash-screen/splash-screen.service.d.ts +0 -14
  474. package/services/title/public-api.d.ts +0 -1
  475. package/services/title/title.service.d.ts +0 -13
  476. package/services/translation/public-api.d.ts +0 -1
  477. package/services/translation/translation.service.d.ts +0 -20
  478. package/services/utils/public-api.d.ts +0 -1
  479. package/services/utils/utils.service.d.ts +0 -60
  480. package/validators/public-api.d.ts +0 -1
  481. package/validators/validators.d.ts +0 -5
  482. package/version/public-api.d.ts +0 -1
  483. package/version/version.d.ts +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-directives-arrow-cursor.mjs","sources":["../../../projects/cmat/directives/arrow-cursor/arrow-cursor.directive.ts","../../../projects/cmat/directives/arrow-cursor/cmat-directives-arrow-cursor.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\r\nimport { Directive, AfterViewInit, OnDestroy, Input, HostListener, Inject, Output, EventEmitter } from '@angular/core';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport { CmatMediaWatcherService } from 'cmat/services/media-watcher';\r\n\r\n@Directive({\r\n selector: '[cmatArrowCursor]'\r\n})\r\nexport class CmatArrowCursorDirective implements AfterViewInit, OnDestroy {\r\n @Input() animationDuration: number = 0.3;\r\n @Input() orientation: 'horizontal' | 'vertical' = 'horizontal';\r\n @Input() enabled: boolean = false;\r\n @Input() selector: string = '.carousel-arrow-cursor';\r\n @Output() clickEvent: EventEmitter<string | null> = new EventEmitter<string | null>();\r\n\r\n cursorAnimationFrame: any;\r\n isPhone: boolean;\r\n arrowCursor: HTMLDivElement | null = null;\r\n cursorClientX: number;\r\n cursorClientY: number;\r\n cursorIcon: SVGElement | null;\r\n cursorSide: string | null;\r\n oldCursorSide: string | null;\r\n\r\n private _unsubscribeAll: Subject<any> = new Subject<any>();\r\n constructor(@Inject(DOCUMENT) private _document: Document, private _cmatMediaWatcherService: CmatMediaWatcherService) {\r\n\r\n }\r\n\r\n @HostListener('mouseenter', ['$event'])\r\n public onMouseEnter(event: any): void {\r\n if (!this.isPhone && this.enabled) {\r\n if (this.arrowCursor == null) {\r\n this.arrowCursor = this._document.querySelector(this.selector);\r\n this.cursorIcon = this.arrowCursor?.querySelector('.arrow-cursor-icon') ?? null;\r\n this.cursorSide = null;\r\n if (this.cursorIcon) {\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,-135deg) scale3d(0.5,0.5,1)';\r\n this.cursorIcon.style.opacity = '0';\r\n }\r\n }\r\n this.cursorAnimationFrame = requestAnimationFrame(this.moveCursor.bind(this));\r\n this.cursorClientX = event.clientX;\r\n this.cursorClientY = event.clientY;\r\n\r\n let t = 0;\r\n\r\n if (this.orientation === 'horizontal') {\r\n this.cursorSide = this.cursorClientX > window.innerWidth / 2 ? 'right' : 'left';\r\n\r\n t = (this.cursorClientY < (event.target.getBoundingClientRect().top + event.target.getBoundingClientRect().height / 2))\r\n ? -135\r\n : (this.cursorSide === 'right' ? 135 : -315);\r\n } else {\r\n this.cursorSide = this.cursorClientY > window.innerHeight / 2 ? 'down' : 'up';\r\n\r\n t = (this.cursorClientX < (event.target.getBoundingClientRect().left + event.target.getBoundingClientRect().width / 2))\r\n ? 135\r\n : (this.cursorSide === 'down' ? -135 : 45);\r\n }\r\n\r\n if (this.cursorIcon) {\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,' + t + 'deg)';\r\n\r\n this.cursorIcon.style.transition = this.animationDuration + 's';\r\n\r\n switch (this.cursorSide) {\r\n case 'left':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,-180deg)';\r\n break;\r\n case 'up':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,-90deg)';\r\n break;\r\n case 'right':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,0deg)';\r\n break;\r\n case 'down':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,90deg)';\r\n break;\r\n }\r\n\r\n this.cursorIcon.style.opacity = '1';\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseLeave(event: any): void {\r\n if (!this.isPhone && this.enabled) {\r\n let t = 0;\r\n\r\n if (this.orientation === 'horizontal') {\r\n t = (this.cursorClientY < (event.target.getBoundingClientRect().top + event.target.getBoundingClientRect().height / 2))\r\n ? (('right' === this.cursorSide) ? -135 : -45)\r\n : (('right' === this.cursorSide) ? 135 : -315);\r\n } else {\r\n t = (this.cursorClientX < (event.target.getBoundingClientRect().left + event.target.getBoundingClientRect().width / 2))\r\n ? (('down' === this.cursorSide) ? 225 : -225)\r\n : (('down' === this.cursorSide) ? -45 : 45);\r\n }\r\n\r\n if (this.cursorIcon) {\r\n this.cursorIcon.style.transition = this.animationDuration + 's';\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,' + t + 'deg) scale3d(0.3,0.3,1)';\r\n this.cursorIcon.style.opacity = '0';\r\n }\r\n\r\n window.cancelAnimationFrame(this.cursorAnimationFrame);\r\n }\r\n }\r\n\r\n @HostListener('mousemove', ['$event'])\r\n public onMouseOver(event: any): void {\r\n if (!this.isPhone && this.cursorIcon && this.enabled) {\r\n this.cursorClientX = event.clientX;\r\n this.cursorClientY = event.clientY;\r\n\r\n if (this.orientation === 'horizontal') {\r\n this.cursorSide = this.cursorClientX > window.innerWidth / 2 ? 'right' : 'left';\r\n } else {\r\n this.cursorSide = this.cursorClientY > window.innerHeight / 2 ? 'down' : 'up';\r\n }\r\n\r\n if (this.oldCursorSide !== this.cursorSide) {\r\n this.cursorIcon.style.transition = this.animationDuration + 's';\r\n switch (this.cursorSide) {\r\n case 'left':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,-180deg)';\r\n break;\r\n case 'up':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,-90deg)';\r\n break;\r\n case 'right':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,0deg)';\r\n break;\r\n case 'down':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,90deg)';\r\n break;\r\n }\r\n this.oldCursorSide = this.cursorSide;\r\n }\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: Event): void {\r\n if (!this.isPhone && this.cursorIcon && this.enabled) {\r\n this.clickEvent.emit(this.cursorSide);\r\n\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._cmatMediaWatcherService.onMediaChange$\r\n .pipe(takeUntil(this._unsubscribeAll))\r\n .subscribe(({ matchingAliases }) => {\r\n this.isPhone = !matchingAliases.includes('lg');\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.cursorAnimationFrame) {\r\n window.cancelAnimationFrame(this.cursorAnimationFrame);\r\n }\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n moveCursor(): void {\r\n if (!this.isPhone && this.arrowCursor && this.enabled) {\r\n this.arrowCursor.style.transform = 'translate3d(' + this.cursorClientX + 'px,' + this.cursorClientY + 'px,0px)';\r\n\r\n this.cursorAnimationFrame = requestAnimationFrame(this.moveCursor.bind(this));\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-directives-arrow-cursor.mjs","sources":["../../../projects/cmat/directives/arrow-cursor/arrow-cursor.directive.ts","../../../projects/cmat/directives/arrow-cursor/cmat-directives-arrow-cursor.ts"],"sourcesContent":["import { Directive, AfterViewInit, OnDestroy, Input, HostListener, Output, EventEmitter, DOCUMENT, inject } from '@angular/core';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport { CmatMediaWatcherService } from 'cmat/services/media-watcher';\r\n\r\n@Directive({\r\n selector: '[cmatArrowCursor]'\r\n})\r\nexport class CmatArrowCursorDirective implements AfterViewInit, OnDestroy {\r\n @Input() animationDuration: number = 0.3;\r\n @Input() orientation: 'horizontal' | 'vertical' = 'horizontal';\r\n @Input() enabled: boolean = false;\r\n @Input() selector: string = '.carousel-arrow-cursor';\r\n @Output() clickEvent: EventEmitter<string | null> = new EventEmitter<string | null>();\r\n\r\n cursorAnimationFrame: any;\r\n isPhone: boolean;\r\n arrowCursor: HTMLDivElement | null = null;\r\n cursorClientX: number;\r\n cursorClientY: number;\r\n cursorIcon: SVGElement | null;\r\n cursorSide: string | null;\r\n oldCursorSide: string | null;\r\n\r\n private _document = inject<Document>(DOCUMENT);\r\n private _cmatMediaWatcherService = inject(CmatMediaWatcherService);\r\n\r\n private _unsubscribeAll: Subject<any> = new Subject<any>();\r\n\r\n @HostListener('mouseenter', ['$event'])\r\n public onMouseEnter(event: any): void {\r\n if (!this.isPhone && this.enabled) {\r\n this.arrowCursor ??= this._document.querySelector(this.selector);\r\n if (this.cursorIcon == null) {\r\n this.cursorIcon = this.arrowCursor?.querySelector('.arrow-cursor-icon') ?? null;\r\n this.cursorSide = null;\r\n\r\n if (this.cursorIcon) {\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,-135deg) scale3d(0.5,0.5,1)';\r\n this.cursorIcon.style.opacity = '0';\r\n }\r\n }\r\n\r\n this.cursorAnimationFrame = requestAnimationFrame(this.moveCursor.bind(this));\r\n this.cursorClientX = event.clientX;\r\n this.cursorClientY = event.clientY;\r\n\r\n let t = 0;\r\n\r\n if (this.orientation === 'horizontal') {\r\n this.cursorSide = this.cursorClientX > window.innerWidth / 2 ? 'right' : 'left';\r\n\r\n t = (this.cursorClientY < (event.target.getBoundingClientRect().top + event.target.getBoundingClientRect().height / 2))\r\n ? -135\r\n : (this.cursorSide === 'right' ? 135 : -315);\r\n } else {\r\n this.cursorSide = this.cursorClientY > window.innerHeight / 2 ? 'down' : 'up';\r\n\r\n t = (this.cursorClientX < (event.target.getBoundingClientRect().left + event.target.getBoundingClientRect().width / 2))\r\n ? 135\r\n : (this.cursorSide === 'down' ? -135 : 45);\r\n }\r\n\r\n if (this.cursorIcon) {\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,' + t + 'deg)';\r\n\r\n this.cursorIcon.style.transition = this.animationDuration + 's';\r\n\r\n switch (this.cursorSide) {\r\n case 'left':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,-180deg)';\r\n break;\r\n case 'up':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,-90deg)';\r\n break;\r\n case 'right':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,0deg)';\r\n break;\r\n case 'down':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,90deg)';\r\n break;\r\n }\r\n\r\n this.cursorIcon.style.opacity = '1';\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave', ['$event'])\r\n public onMouseLeave(event: any): void {\r\n if (!this.isPhone && this.enabled) {\r\n let t = 0;\r\n\r\n if (this.orientation === 'horizontal') {\r\n t = (this.cursorClientY < (event.target.getBoundingClientRect().top + event.target.getBoundingClientRect().height / 2))\r\n ? (('right' === this.cursorSide) ? -135 : -45)\r\n : (('right' === this.cursorSide) ? 135 : -315);\r\n } else {\r\n t = (this.cursorClientX < (event.target.getBoundingClientRect().left + event.target.getBoundingClientRect().width / 2))\r\n ? (('down' === this.cursorSide) ? 225 : -225)\r\n : (('down' === this.cursorSide) ? -45 : 45);\r\n }\r\n\r\n if (this.cursorIcon) {\r\n this.cursorIcon.style.transition = this.animationDuration + 's';\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,' + t + 'deg) scale3d(0.3,0.3,1)';\r\n this.cursorIcon.style.opacity = '0';\r\n }\r\n\r\n window.cancelAnimationFrame(this.cursorAnimationFrame);\r\n }\r\n }\r\n\r\n @HostListener('mousemove', ['$event'])\r\n public onMouseOver(event: any): void {\r\n if (!this.isPhone && this.cursorIcon && this.enabled) {\r\n this.cursorClientX = event.clientX;\r\n this.cursorClientY = event.clientY;\r\n\r\n if (this.orientation === 'horizontal') {\r\n this.cursorSide = this.cursorClientX > window.innerWidth / 2 ? 'right' : 'left';\r\n } else {\r\n this.cursorSide = this.cursorClientY > window.innerHeight / 2 ? 'down' : 'up';\r\n }\r\n\r\n if (this.oldCursorSide !== this.cursorSide) {\r\n this.cursorIcon.style.transition = this.animationDuration + 's';\r\n switch (this.cursorSide) {\r\n case 'left':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,-180deg)';\r\n break;\r\n case 'up':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,-90deg)';\r\n break;\r\n case 'right':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,0deg)';\r\n break;\r\n case 'down':\r\n this.cursorIcon.style.transform = 'rotate3d(0,0,1,90deg)';\r\n break;\r\n }\r\n this.oldCursorSide = this.cursorSide;\r\n }\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: Event): void {\r\n if (!this.isPhone && this.cursorIcon && this.enabled) {\r\n this.clickEvent.emit(this.cursorSide);\r\n\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._cmatMediaWatcherService.onMediaChange$\r\n .pipe(takeUntil(this._unsubscribeAll))\r\n .subscribe(({ matchingAliases }) => {\r\n this.isPhone = !matchingAliases.includes('lg');\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.cursorAnimationFrame) {\r\n window.cancelAnimationFrame(this.cursorAnimationFrame);\r\n }\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n moveCursor(): void {\r\n if (!this.isPhone && this.arrowCursor && this.enabled) {\r\n this.arrowCursor.style.transform = 'translate3d(' + this.cursorClientX + 'px,' + this.cursorClientY + 'px,0px)';\r\n\r\n this.cursorAnimationFrame = requestAnimationFrame(this.moveCursor.bind(this));\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,23 +1,22 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive } from '@angular/core';
2
+ import { inject, ElementRef, Directive } from '@angular/core';
3
3
 
4
4
  class CmatAutofocusDirective {
5
- constructor(element) {
6
- this.element = element;
5
+ constructor() {
6
+ this.element = inject(ElementRef);
7
7
  setTimeout(() => {
8
8
  this.element.nativeElement.focus();
9
9
  }, 0);
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CmatAutofocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
12
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: CmatAutofocusDirective, isStandalone: true, selector: "[cmatAutofocus]", ngImport: i0 }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CmatAutofocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: CmatAutofocusDirective, isStandalone: true, selector: "[cmatAutofocus]", ngImport: i0 }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CmatAutofocusDirective, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CmatAutofocusDirective, decorators: [{
15
15
  type: Directive,
16
16
  args: [{
17
- selector: '[cmatAutofocus]',
18
- standalone: true
17
+ selector: '[cmatAutofocus]'
19
18
  }]
20
- }], ctorParameters: () => [{ type: i0.ElementRef }] });
19
+ }], ctorParameters: () => [] });
21
20
 
22
21
  /**
23
22
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-directives-autofocus.mjs","sources":["../../../projects/cmat/directives/autofocus/autofocus.directive.ts","../../../projects/cmat/directives/autofocus/cmat-directives-autofocus.ts"],"sourcesContent":["import { Directive, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cmatAutofocus]',\r\n standalone: true\r\n})\r\nexport class CmatAutofocusDirective {\r\n constructor(public element: ElementRef) {\r\n setTimeout(() => {\r\n this.element.nativeElement.focus();\r\n }, 0);\r\n\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAMa,sBAAsB,CAAA;AACjC,IAAA,WAAA,CAAmB,OAAmB,EAAA;QAAnB,IAAO,CAAA,OAAA,GAAP,OAAO;QACxB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE;SACnC,EAAE,CAAC,CAAC;;8GAJI,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACLD;;AAEG;;;;"}
1
+ {"version":3,"file":"cmat-directives-autofocus.mjs","sources":["../../../projects/cmat/directives/autofocus/autofocus.directive.ts","../../../projects/cmat/directives/autofocus/cmat-directives-autofocus.ts"],"sourcesContent":["import { Directive, ElementRef, inject } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cmatAutofocus]'\r\n})\r\nexport class CmatAutofocusDirective {\r\n element = inject(ElementRef);\r\n\r\n constructor() {\r\n setTimeout(() => {\r\n this.element.nativeElement.focus();\r\n }, 0);\r\n\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAKa,sBAAsB,CAAA;AAGjC,IAAA,WAAA,GAAA;AAFA,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;QAG1B,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE;SACnC,EAAE,CAAC,CAAC;;8GANI,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;AACX,iBAAA;;;ACJD;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Input, Directive } from '@angular/core';
2
+ import { Injectable, inject, Injector, Input, Directive } from '@angular/core';
3
3
  import * as FileSaver from 'file-saver-es';
4
4
 
5
5
  var ExportType;
@@ -106,10 +106,10 @@ class CsvExporterService extends WorksheetExporter {
106
106
  getMimeType() {
107
107
  return MIME_CSV;
108
108
  }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CsvExporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
110
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CsvExporterService, providedIn: 'root' }); }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CsvExporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
110
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CsvExporterService, providedIn: 'root' }); }
111
111
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CsvExporterService, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CsvExporterService, decorators: [{
113
113
  type: Injectable,
114
114
  args: [{
115
115
  providedIn: 'root'
@@ -130,10 +130,10 @@ class JsonExporterService extends FileExporter {
130
130
  getMimeType() {
131
131
  return MIME_JSON;
132
132
  }
133
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: JsonExporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
134
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: JsonExporterService, providedIn: 'root' }); }
133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: JsonExporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
134
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: JsonExporterService, providedIn: 'root' }); }
135
135
  }
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: JsonExporterService, decorators: [{
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: JsonExporterService, decorators: [{
137
137
  type: Injectable,
138
138
  args: [{
139
139
  providedIn: 'root'
@@ -164,10 +164,10 @@ class TxtExporterService extends FileExporter {
164
164
  return TAB;
165
165
  }
166
166
  }
167
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TxtExporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
168
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TxtExporterService, providedIn: 'root' }); }
167
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TxtExporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
168
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TxtExporterService, providedIn: 'root' }); }
169
169
  }
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TxtExporterService, decorators: [{
170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TxtExporterService, decorators: [{
171
171
  type: Injectable,
172
172
  args: [{
173
173
  providedIn: 'root'
@@ -205,18 +205,16 @@ class XlsExporterService extends WorksheetExporter {
205
205
  return MIME_EXCEL_XLS;
206
206
  }
207
207
  _correctTypes(options) {
208
- if (!options.type) {
209
- options.type = TYPE_ARRAY;
210
- }
208
+ options.type ??= TYPE_ARRAY;
211
209
  options.bookType = this.getMimeType().extension.replace('.', ''); // sheetjs requires bookingType for excel format
212
210
  }
213
211
  _convertToWch(columnWidths) {
214
212
  return columnWidths.map(width => ({ wch: width }));
215
213
  }
216
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: XlsExporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
217
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: XlsExporterService, providedIn: 'root' }); }
214
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: XlsExporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
215
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: XlsExporterService, providedIn: 'root' }); }
218
216
  }
219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: XlsExporterService, decorators: [{
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: XlsExporterService, decorators: [{
220
218
  type: Injectable,
221
219
  args: [{
222
220
  providedIn: 'root'
@@ -230,10 +228,10 @@ class XlsxExporterService extends XlsExporterService {
230
228
  getMimeType() {
231
229
  return MIME_EXCEL_XLSX;
232
230
  }
233
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: XlsxExporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
234
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: XlsxExporterService, providedIn: 'root' }); }
231
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: XlsxExporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
232
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: XlsxExporterService, providedIn: 'root' }); }
235
233
  }
236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: XlsxExporterService, decorators: [{
234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: XlsxExporterService, decorators: [{
237
235
  type: Injectable,
238
236
  args: [{
239
237
  providedIn: 'root'
@@ -241,8 +239,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
241
239
  }], ctorParameters: () => [] });
242
240
 
243
241
  class ServiceLocatorService {
244
- constructor(_injector) {
245
- this._injector = _injector;
242
+ constructor() {
243
+ this._injector = inject(Injector);
246
244
  }
247
245
  getService(exportType) {
248
246
  switch (exportType) {
@@ -265,19 +263,19 @@ class ServiceLocatorService {
265
263
  return this._injector.get(XlsxExporterService);
266
264
  }
267
265
  }
268
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: ServiceLocatorService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
269
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: ServiceLocatorService, providedIn: 'root' }); }
266
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: ServiceLocatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
267
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: ServiceLocatorService, providedIn: 'root' }); }
270
268
  }
271
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: ServiceLocatorService, decorators: [{
269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: ServiceLocatorService, decorators: [{
272
270
  type: Injectable,
273
271
  args: [{
274
272
  providedIn: 'root'
275
273
  }]
276
- }], ctorParameters: () => [{ type: i0.Injector }] });
274
+ }] });
277
275
 
278
276
  class CmatDataExporterDirective {
279
- constructor(_serviceLocator) {
280
- this._serviceLocator = _serviceLocator;
277
+ constructor() {
278
+ this._serviceLocator = inject(ServiceLocatorService);
281
279
  }
282
280
  ngOnChanges(changes) {
283
281
  if (changes.dataSource) {
@@ -298,15 +296,15 @@ class CmatDataExporterDirective {
298
296
  _loadExporter(exportType) {
299
297
  this._exporterService = this._serviceLocator.getService(exportType);
300
298
  }
301
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CmatDataExporterDirective, deps: [{ token: ServiceLocatorService }], target: i0.ɵɵFactoryTarget.Directive }); }
302
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: CmatDataExporterDirective, isStandalone: true, selector: "button[cmatDataExporter]", inputs: { dataSource: "dataSource", exportColumns: "exportColumns", options: "options", exportType: "exportType" }, usesOnChanges: true, ngImport: i0 }); }
299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CmatDataExporterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
300
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: CmatDataExporterDirective, isStandalone: true, selector: "button[cmatDataExporter]", inputs: { dataSource: "dataSource", exportColumns: "exportColumns", options: "options", exportType: "exportType" }, usesOnChanges: true, ngImport: i0 }); }
303
301
  }
304
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CmatDataExporterDirective, decorators: [{
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CmatDataExporterDirective, decorators: [{
305
303
  type: Directive,
306
304
  args: [{
307
305
  selector: 'button[cmatDataExporter]'
308
306
  }]
309
- }], ctorParameters: () => [{ type: ServiceLocatorService }], propDecorators: { dataSource: [{
307
+ }], propDecorators: { dataSource: [{
310
308
  type: Input
311
309
  }], exportColumns: [{
312
310
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-directives-data-exporter.mjs","sources":["../../../projects/cmat/directives/data-exporter/options.ts","../../../projects/cmat/directives/data-exporter/mime.ts","../../../projects/cmat/directives/data-exporter/constants.ts","../../../projects/cmat/directives/data-exporter/services/file-util.ts","../../../projects/cmat/directives/data-exporter/services/exporters/file-exporter.ts","../../../projects/cmat/directives/data-exporter/services/exporters/worksheet-exporter.ts","../../../projects/cmat/directives/data-exporter/services/exporters/csv-exporter.service.ts","../../../projects/cmat/directives/data-exporter/services/exporters/json-exporter.service.ts","../../../projects/cmat/directives/data-exporter/services/exporters/txt-exporter.service.ts","../../../projects/cmat/directives/data-exporter/services/exporters/xls-exporter.service.ts","../../../projects/cmat/directives/data-exporter/services/exporters/xlsx-exporter.service.ts","../../../projects/cmat/directives/data-exporter/services/service-locator.service.ts","../../../projects/cmat/directives/data-exporter/data-exporter.directive.ts","../../../projects/cmat/directives/data-exporter/cmat-directives-data-exporter.ts"],"sourcesContent":["import { WritingOptions } from 'xlsx';\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\nexport interface ExporterListInfo {\r\n code: string;\r\n label: string;\r\n}\r\n\r\nexport enum ExportType {\r\n XLS = 'xls',\r\n XLSX = 'xlsx',\r\n CSV = 'csv',\r\n TXT = 'txt',\r\n JSON = 'json'\r\n}\r\n\r\nexport interface Options {\r\n fileName?: string;\r\n}\r\n\r\nexport interface TxtOptions extends Options {\r\n delimiter?: string;\r\n}\r\n\r\nexport interface ExcelOptions extends Options, Omit<WritingOptions, 'bookType'> {\r\n columnWidths: number[];\r\n}\r\n","export class Mime {\r\n extension: string;\r\n contentTypeHeader: string;\r\n\r\n constructor(extension: string, contentTypeHeader: string) {\r\n this.extension = extension;\r\n this.contentTypeHeader = contentTypeHeader;\r\n }\r\n}\r\n","import { Mime } from './mime';\r\nimport { ExportType } from './options';\r\n\r\nexport const TYPE_ARRAY = 'array';\r\nexport const CHAR_SET_UTF = ';charset=utf-';\r\nexport const CHAR_SET_UTF_8 = CHAR_SET_UTF + '8';\r\nexport const CONTENT_TYPE_TEXT = ExportType.TXT + '/';\r\nexport const CONTENT_TYPE_APPLICATION = 'application/';\r\nexport const CONTENT_TYPE_EXCEL = CONTENT_TYPE_APPLICATION + 'octet-stream';\r\nexport const CONTENT_TYPE_JSON = CONTENT_TYPE_APPLICATION + 'json';\r\nexport const DOT = '.';\r\nexport const COMMA = ',';\r\nexport const EXTENSION_XLS = DOT + ExportType.XLS;\r\nexport const EXTENSION_XLSX = DOT + ExportType.XLSX;\r\nexport const EXTENSION_CSV = DOT + ExportType.CSV;\r\nexport const EXTENSION_JSON = DOT + ExportType.JSON;\r\nexport const EXTENSION_TEXT = DOT + ExportType.TXT;\r\nexport const MIME_EXCEL_XLS = new Mime(EXTENSION_XLS, CONTENT_TYPE_EXCEL + CHAR_SET_UTF_8);\r\nexport const MIME_EXCEL_XLSX = new Mime(EXTENSION_XLSX, CONTENT_TYPE_EXCEL + CHAR_SET_UTF_8);\r\nexport const MIME_JSON = new Mime(EXTENSION_JSON, CONTENT_TYPE_JSON + CHAR_SET_UTF_8);\r\nexport const MIME_TXT = new Mime(EXTENSION_TEXT, CONTENT_TYPE_TEXT + ExportType.TXT + CHAR_SET_UTF_8);\r\nexport const MIME_CSV = new Mime(EXTENSION_CSV, CONTENT_TYPE_TEXT + ExportType.CSV + CHAR_SET_UTF_8);\r\nexport const REF = '!ref';\r\nexport const XLS_REGEX = DOT + '*.' + ExportType.XLS + '$';\r\nexport const RETURN = '\\n';\r\nexport const TAB = '\\t';\r\nexport const XLSX_COLS = '!cols';\r\nexport const BOM = '\\uFEFF';\r\n","import * as FileSaver from 'file-saver-es';\r\nimport { DOT, XLS_REGEX } from '../constants';\r\nimport { Mime } from '../mime';\r\nimport { ExportType, Options } from '../options';\r\n\r\nexport class FileUtil {\r\n public static save(content: string, mime: Mime, options?: Options):void {\r\n const blob = new Blob([content], {type: mime.contentTypeHeader});\r\n let fileName = '附件';\r\n if (options?.fileName) {\r\n fileName = options.fileName;\r\n }\r\n FileSaver.saveAs(blob, fileName + mime.extension);\r\n }\r\n\r\n\r\n public static isXls(fileName: string): boolean {\r\n return fileName.toLowerCase().match(XLS_REGEX) != null;\r\n }\r\n\r\n public static identifyExportType(fileName?: string): ExportType {\r\n if (fileName && FileUtil.isXls(fileName)) {\r\n return ExportType.XLS;\r\n } else {\r\n return ExportType.XLSX;\r\n }\r\n }\r\n\r\n public static removeExtension(options?: Options):void {\r\n if (options)\r\n options.fileName = options.fileName?.split(DOT)[0];\r\n }\r\n}\r\n","import { Exporter } from './exporter';\r\nimport { Mime } from '../../mime';\r\nimport { Options } from '../../options';\r\nimport { FileUtil } from '../file-util';\r\n\r\nexport abstract class FileExporter<T extends Options> implements Exporter<T> {\r\n public export(rows: any[], options?: T): void {\r\n if (!rows) {\r\n throw new Error('Empty json array is provided, rows parameter is mandatory!');\r\n }\r\n const mimeType = this.getMimeType();\r\n void this.createContent(rows, options).then((content) => {\r\n FileUtil.save(content, mimeType, options);\r\n });\r\n }\r\n\r\n public abstract createContent(rows: any[], options?: T): Promise<any>;\r\n public abstract getMimeType(): Mime;\r\n}\r\n","import { WorkSheet } from 'xlsx';\r\nimport { FileExporter } from './file-exporter';\r\nimport { Mime } from '../../mime';\r\nimport { Options } from '../../options';\r\n\r\nexport abstract class WorksheetExporter<T extends Options> extends FileExporter<T> {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async createContent(rows: any[], options?: T): Promise<any> {\r\n const workSheet: WorkSheet = (await import('xlsx')).utils.json_to_sheet(rows, {\r\n skipHeader: true // we don't want to see object properties as our headers\r\n });\r\n return await this.workSheetToContent(workSheet, options);\r\n }\r\n public abstract workSheetToContent(workSheet: WorkSheet, options?: T): Promise<any>;\r\n public abstract override getMimeType(): Mime;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { WorkSheet } from 'xlsx';\r\nimport { WorksheetExporter } from './worksheet-exporter';\r\nimport { BOM, COMMA, MIME_CSV } from '../../constants';\r\nimport { Mime } from '../../mime';\r\nimport { TxtOptions } from '../../options';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CsvExporterService extends WorksheetExporter<TxtOptions> {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async workSheetToContent(worksheet: WorkSheet, options?: TxtOptions): Promise<any> {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n const content = (await import('xlsx')).utils.sheet_to_csv(worksheet, { FS: options?.delimiter ?? COMMA });\r\n return BOM + content;\r\n }\r\n\r\n public getMimeType(): Mime {\r\n return MIME_CSV;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FileExporter } from './file-exporter';\r\nimport { MIME_JSON } from '../../constants';\r\nimport { Mime } from '../../mime';\r\nimport { Options } from '../../options';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JsonExporterService extends FileExporter<Options> {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n public async createContent(rows: any[], options?: Options): Promise<any> {\r\n return await new Promise((resolve) => {\r\n resolve(JSON.stringify(rows));\r\n });;\r\n }\r\n public getMimeType(): Mime {\r\n return MIME_JSON;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FileExporter } from './file-exporter';\r\nimport { MIME_TXT, RETURN, TAB } from '../../constants';\r\nimport { Mime } from '../../mime';\r\nimport { TxtOptions } from '../../options';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TxtExporterService extends FileExporter<TxtOptions> {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async createContent(rows: any[], options?: TxtOptions): Promise<any> {\r\n return await new Promise((resolve) => {\r\n let content = '';\r\n rows.forEach((element) => {\r\n content += Object.values(element).join(this._getDelimiter(options)) + RETURN;\r\n });\r\n\r\n resolve(JSON.stringify(content));\r\n });\r\n }\r\n\r\n public getMimeType(): Mime {\r\n return MIME_TXT;\r\n }\r\n\r\n private _getDelimiter(options?: TxtOptions): string {\r\n if (options?.delimiter) {\r\n return options.delimiter;\r\n } else {\r\n return TAB;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { WorkSheet } from 'xlsx';\r\nimport { WorksheetExporter } from './worksheet-exporter';\r\nimport { MIME_EXCEL_XLS, TYPE_ARRAY, XLSX_COLS } from '../../constants';\r\nimport { Mime } from '../../mime';\r\nimport { ExcelOptions } from '../../options';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class XlsExporterService extends WorksheetExporter<ExcelOptions> {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async workSheetToContent(worksheet: WorkSheet, options: ExcelOptions = {} as ExcelOptions): Promise<any> {\r\n const { utils, write } = await import('xlsx');\r\n const workBook = utils.book_new();\r\n\r\n this._correctTypes(options);\r\n utils.book_append_sheet(workBook, worksheet, options.sheet);\r\n\r\n if (options.columnWidths) {\r\n worksheet[XLSX_COLS] = this._convertToWch(options.columnWidths);\r\n } else {\r\n const jsonTable = utils.sheet_to_json<string | number[]>(worksheet, {\r\n header: 1,\r\n raw: true,\r\n rawNumbers: true,\r\n });\r\n const maxRowSize = Math.max(...jsonTable.map(row => row.length));\r\n\r\n const wchArray = Array.from({ length: maxRowSize }).map((_, rowIndex) => {\r\n const row = Array.from({ length: jsonTable.length }).map(\r\n (_, i) => String(jsonTable[i][rowIndex] ?? '').length\r\n );\r\n\r\n return { wch: Math.max(...row)*3 > 40 ? 40 : Math.max(...row)*3 };\r\n });\r\n worksheet[XLSX_COLS] = wchArray;\r\n }\r\n\r\n return write(workBook, options);\r\n }\r\n\r\n public getMimeType(): Mime {\r\n return MIME_EXCEL_XLS;\r\n }\r\n\r\n private _correctTypes(options: ExcelOptions): void {\r\n if (!options.type) {\r\n options.type = TYPE_ARRAY;\r\n }\r\n (options as any).bookType = this.getMimeType().extension.replace('.', ''); // sheetjs requires bookingType for excel format\r\n }\r\n\r\n private _convertToWch(columnWidths: number[]): { wch: number }[] {\r\n return columnWidths.map(width => ({ wch: width }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { XlsExporterService } from './xls-exporter.service';\r\nimport { MIME_EXCEL_XLSX } from '../../constants';\r\nimport { Mime } from '../../mime';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class XlsxExporterService extends XlsExporterService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public override getMimeType(): Mime {\r\n return MIME_EXCEL_XLSX;\r\n }\r\n}\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { ExportType, Options } from '../options';\r\nimport { CsvExporterService } from './exporters/csv-exporter.service';\r\nimport { Exporter } from './exporters/exporter';\r\nimport { JsonExporterService } from './exporters/json-exporter.service';\r\nimport { TxtExporterService } from './exporters/txt-exporter.service';\r\nimport { XlsExporterService } from './exporters/xls-exporter.service';\r\nimport { XlsxExporterService } from './exporters/xlsx-exporter.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServiceLocatorService {\r\n\r\n constructor(private _injector: Injector) { }\r\n\r\n public getService(exportType: ExportType | 'xls' | 'xlsx' | 'csv' | 'txt' | 'json'): Exporter<Options> {\r\n switch (exportType) {\r\n case 'xls':\r\n case ExportType.XLS:\r\n return this._injector.get<XlsExporterService>(XlsExporterService);\r\n case 'xlsx':\r\n case ExportType.XLSX:\r\n return this._injector.get<XlsxExporterService>(XlsxExporterService);\r\n case 'json':\r\n case ExportType.JSON:\r\n return this._injector.get<JsonExporterService>(JsonExporterService);\r\n case 'txt':\r\n case ExportType.TXT:\r\n return this._injector.get<TxtExporterService>(TxtExporterService);\r\n case 'csv':\r\n case ExportType.CSV:\r\n return this._injector.get<CsvExporterService>(CsvExporterService);\r\n default:\r\n return this._injector.get<XlsxExporterService>(XlsxExporterService);\r\n }\r\n }\r\n}\r\n","import { Directive, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { ExcelOptions, ExporterListInfo, ExportType, Options, TxtOptions } from './options';\r\nimport { Exporter } from './services/exporters/exporter';\r\nimport { ServiceLocatorService } from './services/service-locator.service';\r\n\r\n@Directive({\r\n selector: 'button[cmatDataExporter]'\r\n})\r\nexport class CmatDataExporterDirective implements OnChanges {\r\n @Input() dataSource: any[];\r\n @Input() exportColumns: ExporterListInfo[];\r\n @Input() options?: Options | ExcelOptions | TxtOptions;\r\n @Input() exportType: ExportType | 'xls' | 'xlsx' | 'csv' | 'txt' | 'json';\r\n\r\n private _data: any[];\r\n private _exporterService: Exporter<Options>;\r\n constructor(\r\n private _serviceLocator: ServiceLocatorService,\r\n ) {\r\n\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.dataSource) {\r\n if (this.dataSource?.length > 0) {\r\n this._data=[];\r\n this._loadExporter(this.exportType);\r\n this._data = [\r\n // 首先添加一个包含列标题的对象\r\n this.exportColumns.map(column => ({ [column.code]: column.label }))\r\n .reduce((acc, curr) => ({ ...acc, ...curr }), {}) as Record<string, string>,\r\n // 然后添加用户数据对象,根据列配置提取相应的属性\r\n ...this.dataSource.map(user =>\r\n this.exportColumns.reduce((acc, column) => ({ ...acc, [column.code]: user[column.code] }), {})\r\n )\r\n ] as (Record<string, string>)[];\r\n\r\n this._exporterService.export(this._data, this.options); \r\n }\r\n }\r\n }\r\n\r\n private _loadExporter(exportType: ExportType | 'xls' | 'xlsx' | 'csv' | 'txt' | 'json'): void {\r\n this._exporterService = this._serviceLocator.getService(exportType);\r\n }\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ServiceLocatorService"],"mappings":"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"}
1
+ {"version":3,"file":"cmat-directives-data-exporter.mjs","sources":["../../../projects/cmat/directives/data-exporter/options.ts","../../../projects/cmat/directives/data-exporter/mime.ts","../../../projects/cmat/directives/data-exporter/constants.ts","../../../projects/cmat/directives/data-exporter/services/file-util.ts","../../../projects/cmat/directives/data-exporter/services/exporters/file-exporter.ts","../../../projects/cmat/directives/data-exporter/services/exporters/worksheet-exporter.ts","../../../projects/cmat/directives/data-exporter/services/exporters/csv-exporter.service.ts","../../../projects/cmat/directives/data-exporter/services/exporters/json-exporter.service.ts","../../../projects/cmat/directives/data-exporter/services/exporters/txt-exporter.service.ts","../../../projects/cmat/directives/data-exporter/services/exporters/xls-exporter.service.ts","../../../projects/cmat/directives/data-exporter/services/exporters/xlsx-exporter.service.ts","../../../projects/cmat/directives/data-exporter/services/service-locator.service.ts","../../../projects/cmat/directives/data-exporter/data-exporter.directive.ts","../../../projects/cmat/directives/data-exporter/cmat-directives-data-exporter.ts"],"sourcesContent":["import { WritingOptions } from 'xlsx';\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\nexport interface ExporterListInfo {\r\n code: string;\r\n label: string;\r\n}\r\n\r\nexport enum ExportType {\r\n XLS = 'xls',\r\n XLSX = 'xlsx',\r\n CSV = 'csv',\r\n TXT = 'txt',\r\n JSON = 'json'\r\n}\r\n\r\nexport interface Options {\r\n fileName?: string;\r\n}\r\n\r\nexport interface TxtOptions extends Options {\r\n delimiter?: string;\r\n}\r\n\r\nexport interface ExcelOptions extends Options, Omit<WritingOptions, 'bookType'> {\r\n columnWidths: number[];\r\n}\r\n","export class Mime {\r\n extension: string;\r\n contentTypeHeader: string;\r\n\r\n constructor(extension: string, contentTypeHeader: string) {\r\n this.extension = extension;\r\n this.contentTypeHeader = contentTypeHeader;\r\n }\r\n}\r\n","import { Mime } from './mime';\r\nimport { ExportType } from './options';\r\n\r\nexport const TYPE_ARRAY = 'array';\r\nexport const CHAR_SET_UTF = ';charset=utf-';\r\nexport const CHAR_SET_UTF_8 = CHAR_SET_UTF + '8';\r\nexport const CONTENT_TYPE_TEXT = ExportType.TXT + '/';\r\nexport const CONTENT_TYPE_APPLICATION = 'application/';\r\nexport const CONTENT_TYPE_EXCEL = CONTENT_TYPE_APPLICATION + 'octet-stream';\r\nexport const CONTENT_TYPE_JSON = CONTENT_TYPE_APPLICATION + 'json';\r\nexport const DOT = '.';\r\nexport const COMMA = ',';\r\nexport const EXTENSION_XLS = DOT + ExportType.XLS;\r\nexport const EXTENSION_XLSX = DOT + ExportType.XLSX;\r\nexport const EXTENSION_CSV = DOT + ExportType.CSV;\r\nexport const EXTENSION_JSON = DOT + ExportType.JSON;\r\nexport const EXTENSION_TEXT = DOT + ExportType.TXT;\r\nexport const MIME_EXCEL_XLS = new Mime(EXTENSION_XLS, CONTENT_TYPE_EXCEL + CHAR_SET_UTF_8);\r\nexport const MIME_EXCEL_XLSX = new Mime(EXTENSION_XLSX, CONTENT_TYPE_EXCEL + CHAR_SET_UTF_8);\r\nexport const MIME_JSON = new Mime(EXTENSION_JSON, CONTENT_TYPE_JSON + CHAR_SET_UTF_8);\r\nexport const MIME_TXT = new Mime(EXTENSION_TEXT, CONTENT_TYPE_TEXT + ExportType.TXT + CHAR_SET_UTF_8);\r\nexport const MIME_CSV = new Mime(EXTENSION_CSV, CONTENT_TYPE_TEXT + ExportType.CSV + CHAR_SET_UTF_8);\r\nexport const REF = '!ref';\r\nexport const XLS_REGEX = DOT + '*.' + ExportType.XLS + '$';\r\nexport const RETURN = '\\n';\r\nexport const TAB = '\\t';\r\nexport const XLSX_COLS = '!cols';\r\nexport const BOM = '\\uFEFF';\r\n","import * as FileSaver from 'file-saver-es';\r\nimport { DOT, XLS_REGEX } from '../constants';\r\nimport { Mime } from '../mime';\r\nimport { ExportType, Options } from '../options';\r\n\r\nexport class FileUtil {\r\n public static save(content: string, mime: Mime, options?: Options):void {\r\n const blob = new Blob([content], {type: mime.contentTypeHeader});\r\n let fileName = '附件';\r\n if (options?.fileName) {\r\n fileName = options.fileName;\r\n }\r\n FileSaver.saveAs(blob, fileName + mime.extension);\r\n }\r\n\r\n\r\n public static isXls(fileName: string): boolean {\r\n return fileName.toLowerCase().match(XLS_REGEX) != null;\r\n }\r\n\r\n public static identifyExportType(fileName?: string): ExportType {\r\n if (fileName && FileUtil.isXls(fileName)) {\r\n return ExportType.XLS;\r\n } else {\r\n return ExportType.XLSX;\r\n }\r\n }\r\n\r\n public static removeExtension(options?: Options):void {\r\n if (options)\r\n options.fileName = options.fileName?.split(DOT)[0];\r\n }\r\n}\r\n","import { Exporter } from './exporter';\r\nimport { Mime } from '../../mime';\r\nimport { Options } from '../../options';\r\nimport { FileUtil } from '../file-util';\r\n\r\nexport abstract class FileExporter<T extends Options> implements Exporter<T> {\r\n public export(rows: any[], options?: T): void {\r\n if (!rows) {\r\n throw new Error('Empty json array is provided, rows parameter is mandatory!');\r\n }\r\n const mimeType = this.getMimeType();\r\n void this.createContent(rows, options).then((content) => {\r\n FileUtil.save(content, mimeType, options);\r\n });\r\n }\r\n\r\n public abstract createContent(rows: any[], options?: T): Promise<any>;\r\n public abstract getMimeType(): Mime;\r\n}\r\n","import { WorkSheet } from 'xlsx';\r\nimport { FileExporter } from './file-exporter';\r\nimport { Mime } from '../../mime';\r\nimport { Options } from '../../options';\r\n\r\nexport abstract class WorksheetExporter<T extends Options> extends FileExporter<T> {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async createContent(rows: any[], options?: T): Promise<any> {\r\n const workSheet: WorkSheet = (await import('xlsx')).utils.json_to_sheet(rows, {\r\n skipHeader: true // we don't want to see object properties as our headers\r\n });\r\n return await this.workSheetToContent(workSheet, options);\r\n }\r\n public abstract workSheetToContent(workSheet: WorkSheet, options?: T): Promise<any>;\r\n public abstract override getMimeType(): Mime;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { WorkSheet } from 'xlsx';\r\nimport { WorksheetExporter } from './worksheet-exporter';\r\nimport { BOM, COMMA, MIME_CSV } from '../../constants';\r\nimport { Mime } from '../../mime';\r\nimport { TxtOptions } from '../../options';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CsvExporterService extends WorksheetExporter<TxtOptions> {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async workSheetToContent(worksheet: WorkSheet, options?: TxtOptions): Promise<any> {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n const content = (await import('xlsx')).utils.sheet_to_csv(worksheet, { FS: options?.delimiter ?? COMMA });\r\n return BOM + content;\r\n }\r\n\r\n public getMimeType(): Mime {\r\n return MIME_CSV;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FileExporter } from './file-exporter';\r\nimport { MIME_JSON } from '../../constants';\r\nimport { Mime } from '../../mime';\r\nimport { Options } from '../../options';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JsonExporterService extends FileExporter<Options> {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n public async createContent(rows: any[], options?: Options): Promise<any> {\r\n return await new Promise((resolve) => {\r\n resolve(JSON.stringify(rows));\r\n });;\r\n }\r\n public getMimeType(): Mime {\r\n return MIME_JSON;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FileExporter } from './file-exporter';\r\nimport { MIME_TXT, RETURN, TAB } from '../../constants';\r\nimport { Mime } from '../../mime';\r\nimport { TxtOptions } from '../../options';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TxtExporterService extends FileExporter<TxtOptions> {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async createContent(rows: any[], options?: TxtOptions): Promise<any> {\r\n return await new Promise((resolve) => {\r\n let content = '';\r\n rows.forEach((element) => {\r\n content += Object.values(element).join(this._getDelimiter(options)) + RETURN;\r\n });\r\n\r\n resolve(JSON.stringify(content));\r\n });\r\n }\r\n\r\n public getMimeType(): Mime {\r\n return MIME_TXT;\r\n }\r\n\r\n private _getDelimiter(options?: TxtOptions): string {\r\n if (options?.delimiter) {\r\n return options.delimiter;\r\n } else {\r\n return TAB;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { WorkSheet } from 'xlsx';\r\nimport { WorksheetExporter } from './worksheet-exporter';\r\nimport { MIME_EXCEL_XLS, TYPE_ARRAY, XLSX_COLS } from '../../constants';\r\nimport { Mime } from '../../mime';\r\nimport { ExcelOptions } from '../../options';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class XlsExporterService extends WorksheetExporter<ExcelOptions> {\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async workSheetToContent(worksheet: WorkSheet, options: ExcelOptions = {} as ExcelOptions): Promise<any> {\r\n const { utils, write } = await import('xlsx');\r\n const workBook = utils.book_new();\r\n\r\n this._correctTypes(options);\r\n utils.book_append_sheet(workBook, worksheet, options.sheet);\r\n\r\n if (options.columnWidths) {\r\n worksheet[XLSX_COLS] = this._convertToWch(options.columnWidths);\r\n } else {\r\n const jsonTable = utils.sheet_to_json<string | number[]>(worksheet, {\r\n header: 1,\r\n raw: true,\r\n rawNumbers: true,\r\n });\r\n const maxRowSize = Math.max(...jsonTable.map(row => row.length));\r\n\r\n const wchArray = Array.from({ length: maxRowSize }).map((_, rowIndex) => {\r\n const row = Array.from({ length: jsonTable.length }).map(\r\n (_, i) => String(jsonTable[i][rowIndex] ?? '').length\r\n );\r\n\r\n return { wch: Math.max(...row)*3 > 40 ? 40 : Math.max(...row)*3 };\r\n });\r\n worksheet[XLSX_COLS] = wchArray;\r\n }\r\n\r\n return write(workBook, options);\r\n }\r\n\r\n public getMimeType(): Mime {\r\n return MIME_EXCEL_XLS;\r\n }\r\n\r\n private _correctTypes(options: ExcelOptions): void {\r\n options.type ??= TYPE_ARRAY;\r\n (options as any).bookType = this.getMimeType().extension.replace('.', ''); // sheetjs requires bookingType for excel format\r\n }\r\n\r\n private _convertToWch(columnWidths: number[]): { wch: number }[] {\r\n return columnWidths.map(width => ({ wch: width }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { XlsExporterService } from './xls-exporter.service';\r\nimport { MIME_EXCEL_XLSX } from '../../constants';\r\nimport { Mime } from '../../mime';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class XlsxExporterService extends XlsExporterService {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public override getMimeType(): Mime {\r\n return MIME_EXCEL_XLSX;\r\n }\r\n}\r\n","import { Injectable, Injector, inject } from '@angular/core';\r\nimport { ExportType, Options } from '../options';\r\nimport { CsvExporterService } from './exporters/csv-exporter.service';\r\nimport { Exporter } from './exporters/exporter';\r\nimport { JsonExporterService } from './exporters/json-exporter.service';\r\nimport { TxtExporterService } from './exporters/txt-exporter.service';\r\nimport { XlsExporterService } from './exporters/xls-exporter.service';\r\nimport { XlsxExporterService } from './exporters/xlsx-exporter.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServiceLocatorService {\r\n private _injector = inject(Injector);\r\n\r\n public getService(exportType: ExportType | 'xls' | 'xlsx' | 'csv' | 'txt' | 'json'): Exporter<Options> {\r\n switch (exportType) {\r\n case 'xls':\r\n case ExportType.XLS:\r\n return this._injector.get<XlsExporterService>(XlsExporterService);\r\n case 'xlsx':\r\n case ExportType.XLSX:\r\n return this._injector.get<XlsxExporterService>(XlsxExporterService);\r\n case 'json':\r\n case ExportType.JSON:\r\n return this._injector.get<JsonExporterService>(JsonExporterService);\r\n case 'txt':\r\n case ExportType.TXT:\r\n return this._injector.get<TxtExporterService>(TxtExporterService);\r\n case 'csv':\r\n case ExportType.CSV:\r\n return this._injector.get<CsvExporterService>(CsvExporterService);\r\n default:\r\n return this._injector.get<XlsxExporterService>(XlsxExporterService);\r\n }\r\n }\r\n}\r\n","import { Directive, Input, OnChanges, SimpleChanges, inject } from '@angular/core';\r\nimport { ExcelOptions, ExporterListInfo, ExportType, Options, TxtOptions } from './options';\r\nimport { Exporter } from './services/exporters/exporter';\r\nimport { ServiceLocatorService } from './services/service-locator.service';\r\n\r\n@Directive({\r\n selector: 'button[cmatDataExporter]'\r\n})\r\nexport class CmatDataExporterDirective implements OnChanges {\r\n @Input() dataSource: any[];\r\n @Input() exportColumns: ExporterListInfo[];\r\n @Input() options?: Options | ExcelOptions | TxtOptions;\r\n @Input() exportType: ExportType | 'xls' | 'xlsx' | 'csv' | 'txt' | 'json';\r\n \r\n private _serviceLocator = inject(ServiceLocatorService);\r\n private _data: any[];\r\n private _exporterService: Exporter<Options>;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.dataSource) {\r\n if (this.dataSource?.length > 0) {\r\n this._data = [];\r\n this._loadExporter(this.exportType);\r\n this._data = [\r\n // 首先添加一个包含列标题的对象\r\n this.exportColumns.map(column => ({ [column.code]: column.label }))\r\n .reduce((acc, curr) => ({ ...acc, ...curr }), {}) as Record<string, string>,\r\n // 然后添加用户数据对象,根据列配置提取相应的属性\r\n ...this.dataSource.map(user =>\r\n this.exportColumns.reduce((acc, column) => ({ ...acc, [column.code]: user[column.code] }), {})\r\n )\r\n ] as (Record<string, string>)[];\r\n\r\n this._exporterService.export(this._data, this.options);\r\n }\r\n }\r\n }\r\n\r\n private _loadExporter(exportType: ExportType | 'xls' | 'xlsx' | 'csv' | 'txt' | 'json'): void {\r\n this._exporterService = this._serviceLocator.getService(exportType);\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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"}
@@ -22,10 +22,10 @@ class AbstractDebounceDirective {
22
22
  this.subscription$.next();
23
23
  this.subscription$.complete();
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AbstractDebounceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
26
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: AbstractDebounceDirective, isStandalone: true, inputs: { debounceTime: "debounceTime" }, outputs: { emitChanged: "emitChanged" }, ngImport: i0 }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: AbstractDebounceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: AbstractDebounceDirective, isStandalone: true, inputs: { debounceTime: "debounceTime" }, outputs: { emitChanged: "emitChanged" }, ngImport: i0 }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: AbstractDebounceDirective, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: AbstractDebounceDirective, decorators: [{
29
29
  type: Directive
30
30
  }], ctorParameters: () => [], propDecorators: { debounceTime: [{
31
31
  type: Input
@@ -41,14 +41,13 @@ class CmatDebounceClickDirective extends AbstractDebounceDirective {
41
41
  event.preventDefault();
42
42
  this.emitEvent$.next(event);
43
43
  }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CmatDebounceClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: CmatDebounceClickDirective, isStandalone: true, selector: "[cmatDebounceClick]", host: { listeners: { "click": "onKeyUp($event)" } }, usesInheritance: true, ngImport: i0 }); }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CmatDebounceClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: CmatDebounceClickDirective, isStandalone: true, selector: "[cmatDebounceClick]", host: { listeners: { "click": "onKeyUp($event)" } }, usesInheritance: true, ngImport: i0 }); }
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CmatDebounceClickDirective, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CmatDebounceClickDirective, decorators: [{
48
48
  type: Directive,
49
49
  args: [{
50
- selector: '[cmatDebounceClick]',
51
- standalone: true
50
+ selector: '[cmatDebounceClick]'
52
51
  }]
53
52
  }], ctorParameters: () => [], propDecorators: { onKeyUp: [{
54
53
  type: HostListener,
@@ -63,14 +62,13 @@ class CmatDebounceKeyupDirective extends AbstractDebounceDirective {
63
62
  event.preventDefault();
64
63
  this.emitEvent$.next(event);
65
64
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CmatDebounceKeyupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
67
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: CmatDebounceKeyupDirective, isStandalone: true, selector: "input[cmatDebounceKeyup]", host: { listeners: { "keyup": "onKeyUp($event)" } }, usesInheritance: true, ngImport: i0 }); }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CmatDebounceKeyupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
66
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: CmatDebounceKeyupDirective, isStandalone: true, selector: "input[cmatDebounceKeyup]", host: { listeners: { "keyup": "onKeyUp($event)" } }, usesInheritance: true, ngImport: i0 }); }
68
67
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CmatDebounceKeyupDirective, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CmatDebounceKeyupDirective, decorators: [{
70
69
  type: Directive,
71
70
  args: [{
72
- selector: 'input[cmatDebounceKeyup]',
73
- standalone: true
71
+ selector: 'input[cmatDebounceKeyup]'
74
72
  }]
75
73
  }], ctorParameters: () => [], propDecorators: { onKeyUp: [{
76
74
  type: HostListener,
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-directives-debounce.mjs","sources":["../../../projects/cmat/directives/debounce/abstract-debounce.directive.ts","../../../projects/cmat/directives/debounce/debounce-click.directive.ts","../../../projects/cmat/directives/debounce/debounce-keyup.directive.ts","../../../projects/cmat/directives/debounce/cmat-directives-debounce.ts"],"sourcesContent":["import { Directive, EventEmitter, Input, OnDestroy, Output, OnInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, takeUntil, tap } from 'rxjs/operators';\r\n\r\n@Directive()\r\nexport abstract class AbstractDebounceDirective implements OnInit, OnDestroy {\r\n @Input()\r\n public debounceTime: number;\r\n\r\n @Output()\r\n public emitChanged: EventEmitter<any>;\r\n\r\n emitEvent$: Subject<any>;\r\n subscription$: Subject<void>;\r\n\r\n constructor() {\r\n this.debounceTime = 500;\r\n this.emitChanged = new EventEmitter<any>();\r\n this.emitEvent$ = new Subject<any>();\r\n this.subscription$ = new Subject<void>();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.emitEvent$\r\n .pipe(\r\n takeUntil(this.subscription$),\r\n debounceTime(this.debounceTime),\r\n distinctUntilChanged(),\r\n tap(value => this.emitChange(value))\r\n )\r\n .subscribe();\r\n }\r\n\r\n public emitChange(value: any): void {\r\n this.emitChanged.emit(value);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription$.next();\r\n this.subscription$.complete();\r\n }\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { AbstractDebounceDirective } from './abstract-debounce.directive';\r\n\r\n@Directive({\r\n selector: '[cmatDebounceClick]',\r\n standalone: true\r\n})\r\nexport class CmatDebounceClickDirective extends AbstractDebounceDirective {\r\n constructor() {\r\n super();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onKeyUp(event: any): void {\r\n event.preventDefault();\r\n this.emitEvent$.next(event);\r\n }\r\n}\r\n","import {Directive, HostListener} from '@angular/core';\r\nimport {AbstractDebounceDirective} from './abstract-debounce.directive';\r\n\r\n@Directive({\r\n selector: 'input[cmatDebounceKeyup]',\r\n standalone: true\r\n})\r\nexport class CmatDebounceKeyupDirective extends AbstractDebounceDirective {\r\n constructor() {\r\n super();\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onKeyUp(event: any): void {\r\n event.preventDefault();\r\n this.emitEvent$.next(event);\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-directives-debounce.mjs","sources":["../../../projects/cmat/directives/debounce/abstract-debounce.directive.ts","../../../projects/cmat/directives/debounce/debounce-click.directive.ts","../../../projects/cmat/directives/debounce/debounce-keyup.directive.ts","../../../projects/cmat/directives/debounce/cmat-directives-debounce.ts"],"sourcesContent":["import { Directive, EventEmitter, Input, OnDestroy, Output, OnInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, takeUntil, tap } from 'rxjs/operators';\r\n\r\n@Directive()\r\nexport abstract class AbstractDebounceDirective implements OnInit, OnDestroy {\r\n @Input()\r\n public debounceTime: number;\r\n\r\n @Output()\r\n public emitChanged: EventEmitter<any>;\r\n\r\n emitEvent$: Subject<any>;\r\n subscription$: Subject<void>;\r\n\r\n constructor() {\r\n this.debounceTime = 500;\r\n this.emitChanged = new EventEmitter<any>();\r\n this.emitEvent$ = new Subject<any>();\r\n this.subscription$ = new Subject<void>();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.emitEvent$\r\n .pipe(\r\n takeUntil(this.subscription$),\r\n debounceTime(this.debounceTime),\r\n distinctUntilChanged(),\r\n tap(value => this.emitChange(value))\r\n )\r\n .subscribe();\r\n }\r\n\r\n public emitChange(value: any): void {\r\n this.emitChanged.emit(value);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription$.next();\r\n this.subscription$.complete();\r\n }\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { AbstractDebounceDirective } from './abstract-debounce.directive';\r\n\r\n@Directive({\r\n selector: '[cmatDebounceClick]'\r\n})\r\nexport class CmatDebounceClickDirective extends AbstractDebounceDirective {\r\n constructor() {\r\n super();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n public onKeyUp(event: any): void {\r\n event.preventDefault();\r\n this.emitEvent$.next(event);\r\n }\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { AbstractDebounceDirective } from './abstract-debounce.directive';\r\n\r\n@Directive({\r\n selector: 'input[cmatDebounceKeyup]'\r\n})\r\nexport class CmatDebounceKeyupDirective extends AbstractDebounceDirective {\r\n constructor() {\r\n super();\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n public onKeyUp(event: any): void {\r\n event.preventDefault();\r\n this.emitEvent$.next(event);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAKsB,yBAAyB,CAAA;AAU3C,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,YAAY,GAAG,GAAG;AACvB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,EAAO;AAC1C,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,OAAO,EAAO;AACpC,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,EAAQ;;IAG5C,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC;AACA,aAAA,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAC7B,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAC/B,oBAAoB,EAAE,EACtB,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAEvC,aAAA,SAAS,EAAE;;AAGb,IAAA,UAAU,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGhC,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AACzB,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;;8GAlCf,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAD9C;wDAGU,YAAY,EAAA,CAAA;sBADlB;gBAIM,WAAW,EAAA,CAAA;sBADjB;;;ACHC,MAAO,0BAA2B,SAAQ,yBAAyB,CAAA;AACrE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;;AAIJ,IAAA,OAAO,CAAC,KAAU,EAAA;QACrB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;8GARtB,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE;AACb,iBAAA;wDAOU,OAAO,EAAA,CAAA;sBADb,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;ACL/B,MAAO,0BAA2B,SAAQ,yBAAyB,CAAA;AACrE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;;AAIJ,IAAA,OAAO,CAAC,KAAU,EAAA;QACrB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;8GARtB,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE;AACb,iBAAA;wDAOU,OAAO,EAAA,CAAA;sBADb,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;ACXrC;;AAEG;;;;"}
@@ -1,9 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { HostListener, Input, Directive } from '@angular/core';
2
+ import { inject, ElementRef, HostListener, Input, Directive } from '@angular/core';
3
3
 
4
4
  class CmatDigitOnlyDirective {
5
- constructor(el) {
6
- this.el = el;
5
+ constructor() {
7
6
  this.decimal = false;
8
7
  this.decimalSeparator = '.';
9
8
  this.allowNegatives = false;
@@ -12,6 +11,7 @@ class CmatDigitOnlyDirective {
12
11
  this.min = -Infinity;
13
12
  this.max = Infinity;
14
13
  this.value = '';
14
+ this.el = inject(ElementRef);
15
15
  this._regex = null;
16
16
  this._hasDecimalPoint = false;
17
17
  this._hasNegativeSign = false;
@@ -29,6 +29,7 @@ class CmatDigitOnlyDirective {
29
29
  'Copy',
30
30
  'Paste',
31
31
  ];
32
+ const el = this.el;
32
33
  this.inputElement = el.nativeElement;
33
34
  }
34
35
  onBeforeInput(e) {
@@ -257,16 +258,15 @@ class CmatDigitOnlyDirective {
257
258
  key +
258
259
  oldValue.substring(selectionEnd));
259
260
  }
260
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CmatDigitOnlyDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
261
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: CmatDigitOnlyDirective, isStandalone: true, selector: "[cmatDigitOnly]", inputs: { decimal: "decimal", decimalSeparator: "decimalSeparator", allowNegatives: "allowNegatives", allowPaste: "allowPaste", negativeSign: "negativeSign", min: "min", max: "max", pattern: "pattern" }, host: { listeners: { "beforeinput": "onBeforeInput($event)", "input": "onInputChange($event)", "keydown": "onKeyDown($event)", "paste": "onPaste($event)", "drop": "onDrop($event)" } }, usesOnChanges: true, ngImport: i0 }); }
261
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CmatDigitOnlyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
262
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: CmatDigitOnlyDirective, isStandalone: true, selector: "[cmatDigitOnly]", inputs: { decimal: "decimal", decimalSeparator: "decimalSeparator", allowNegatives: "allowNegatives", allowPaste: "allowPaste", negativeSign: "negativeSign", min: "min", max: "max", pattern: "pattern" }, host: { listeners: { "beforeinput": "onBeforeInput($event)", "input": "onInputChange($event)", "keydown": "onKeyDown($event)", "paste": "onPaste($event)", "drop": "onDrop($event)" } }, usesOnChanges: true, ngImport: i0 }); }
262
263
  }
263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CmatDigitOnlyDirective, decorators: [{
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CmatDigitOnlyDirective, decorators: [{
264
265
  type: Directive,
265
266
  args: [{
266
- selector: '[cmatDigitOnly]',
267
- standalone: true
267
+ selector: '[cmatDigitOnly]'
268
268
  }]
269
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { decimal: [{
269
+ }], ctorParameters: () => [], propDecorators: { decimal: [{
270
270
  type: Input
271
271
  }], decimalSeparator: [{
272
272
  type: Input
@@ -300,8 +300,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
300
300
  }] } });
301
301
 
302
302
  class CmatMaskDirective {
303
- constructor(el) {
304
- this.el = el;
303
+ constructor() {
304
+ this.el = inject(ElementRef);
305
305
  this.value = '';
306
306
  this.regex = new RegExp('');
307
307
  this._navigationKeys = [
@@ -318,6 +318,7 @@ class CmatMaskDirective {
318
318
  'Copy',
319
319
  'Paste',
320
320
  ];
321
+ const el = this.el;
321
322
  this.inputElement = el.nativeElement;
322
323
  }
323
324
  onInputChange(event) {
@@ -364,16 +365,15 @@ class CmatMaskDirective {
364
365
  key +
365
366
  oldValue.substring(selectionStart);
366
367
  }
367
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CmatMaskDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
368
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: CmatMaskDirective, isStandalone: true, selector: "[cmatMask]", host: { listeners: { "input": "onInputChange($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
368
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CmatMaskDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
369
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: CmatMaskDirective, isStandalone: true, selector: "[cmatMask]", host: { listeners: { "input": "onInputChange($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
369
370
  }
370
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: CmatMaskDirective, decorators: [{
371
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CmatMaskDirective, decorators: [{
371
372
  type: Directive,
372
373
  args: [{
373
- selector: '[cmatMask]',
374
- standalone: true
374
+ selector: '[cmatMask]'
375
375
  }]
376
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { onInputChange: [{
376
+ }], ctorParameters: () => [], propDecorators: { onInputChange: [{
377
377
  type: HostListener,
378
378
  args: ['input', ['$event']]
379
379
  }], onKeyDown: [{