cmat 0.0.6 → 0.0.8

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 (327) hide show
  1. package/components/adapter/dayjs-datetime-adapter.d.ts +1 -1
  2. package/components/breadcrumb/breadcrumb.service.d.ts +1 -1
  3. package/components/breadcrumb/public-api.d.ts +2 -0
  4. package/components/card/card.component.d.ts +1 -1
  5. package/components/card/public-api.d.ts +1 -0
  6. package/components/cascade/cascade-list/cascade-list.component.d.ts +45 -21
  7. package/components/cascade/public-api.d.ts +1 -0
  8. package/components/chip-input/chip-input.component.d.ts +39 -12
  9. package/components/custom-formly/extension/addons.extension.d.ts +2 -0
  10. package/components/custom-formly/index.d.ts +5 -0
  11. package/components/custom-formly/public-api.d.ts +21 -0
  12. package/components/custom-formly/types/button/button.component.d.ts +18 -0
  13. package/components/custom-formly/types/checklist/checklist.component.d.ts +41 -0
  14. package/components/custom-formly/types/chips/chips.component.d.ts +27 -0
  15. package/components/custom-formly/types/multicheckbox/multicheckbox.component.d.ts +44 -0
  16. package/components/custom-formly/types/number/number.component.d.ts +20 -0
  17. package/components/custom-formly/types/radio/radio.component.d.ts +44 -0
  18. package/components/custom-formly/types/rating/rating.component.d.ts +24 -0
  19. package/components/custom-formly/types/repeat/repeat.component.d.ts +16 -0
  20. package/components/custom-formly/types/select/select.component.d.ts +54 -0
  21. package/components/custom-formly/types/select-tree/select-tree.component.d.ts +43 -0
  22. package/components/custom-formly/types/stepper/horizontal/stepper.component.d.ts +9 -0
  23. package/components/custom-formly/types/stepper/stepper.type.d.ts +6 -0
  24. package/components/custom-formly/types/stepper/vertical/stepper.component.d.ts +9 -0
  25. package/components/custom-formly/types/table/table.component.d.ts +43 -0
  26. package/components/custom-formly/types/tabs/tab.component.d.ts +8 -0
  27. package/components/custom-formly/types/tags/tags.component.d.ts +41 -0
  28. package/components/custom-formly/types/textarea/textarea.component.d.ts +13 -0
  29. package/components/custom-formly/wrappers/addons/addons.component.d.ts +10 -0
  30. package/components/custom-formly/wrappers/card/card.component.d.ts +6 -0
  31. package/components/custom-formly/wrappers/expansion/expansion.component.d.ts +6 -0
  32. package/components/custom-formly/wrappers/panel/panel.component.d.ts +6 -0
  33. package/components/date-range/date-range.component.d.ts +8 -6
  34. package/components/drawer/drawer.component.d.ts +2 -2
  35. package/components/fullscreen/fullscreen.component.d.ts +2 -9
  36. package/components/fullscreen/public-api.d.ts +0 -1
  37. package/components/material-color-picker/material-color-picker.component.d.ts +8 -4
  38. package/components/material-datetimepicker/calendar.d.ts +2 -2
  39. package/components/material-datetimepicker/clock.d.ts +1 -1
  40. package/components/material-datetimepicker/datetimepicker-input.d.ts +1 -1
  41. package/components/material-datetimepicker/datetimepicker-toggle.d.ts +1 -1
  42. package/components/material-datetimepicker/datetimepicker.d.ts +5 -10
  43. package/components/material-datetimepicker/month-view.d.ts +1 -2
  44. package/components/material-datetimepicker/multi-year-view.d.ts +1 -1
  45. package/components/material-datetimepicker/public-api.d.ts +1 -0
  46. package/components/material-datetimepicker/time.d.ts +2 -2
  47. package/components/material-datetimepicker/year-view.d.ts +1 -1
  48. package/components/navigation/horizontal/components/basic/basic.component.d.ts +1 -1
  49. package/components/navigation/horizontal/components/branch/branch.component.d.ts +1 -1
  50. package/components/navigation/horizontal/horizontal.component.d.ts +2 -2
  51. package/components/navigation/vertical/components/aside/aside.component.d.ts +1 -1
  52. package/components/navigation/vertical/components/basic/basic.component.d.ts +1 -7
  53. package/components/navigation/vertical/components/collapsable/collapsable.component.d.ts +1 -1
  54. package/components/navigation/vertical/components/group/group.component.d.ts +1 -1
  55. package/components/navigation/vertical/vertical.component.d.ts +5 -5
  56. package/components/pagination/public-api.d.ts +1 -0
  57. package/components/popover/popover-trigger.d.ts +121 -0
  58. package/components/popover/popover.component.d.ts +3 -3
  59. package/components/popover/popover.target.d.ts +8 -0
  60. package/components/popover/public-api.d.ts +3 -0
  61. package/components/rating/rating.component.d.ts +38 -9
  62. package/components/select-search/select-search.component.d.ts +4 -4
  63. package/components/select-tree/public-api.d.ts +2 -0
  64. package/components/select-tree/select-tree.component.d.ts +50 -21
  65. package/components/toast/public-api.d.ts +4 -0
  66. package/components/toast/toast.component.d.ts +4 -4
  67. package/components/transfer-picker/filter/filter.component.d.ts +1 -1
  68. package/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.d.ts +2 -2
  69. package/components/transfer-picker/transfer-picker.component.d.ts +1 -1
  70. package/components/upload/files.type.d.ts +22 -0
  71. package/components/upload/files.util.service.d.ts +20 -0
  72. package/components/upload/index.d.ts +5 -0
  73. package/components/upload/public-api.d.ts +4 -0
  74. package/components/upload/upload-queue/upload-queue.component.d.ts +39 -0
  75. package/components/upload/upload.component.d.ts +32 -0
  76. package/esm2022/animations/public-api.mjs +2 -2
  77. package/esm2022/components/adapter/dayjs-date-adapter.mjs +6 -6
  78. package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +5 -5
  79. package/esm2022/components/adapter/native-datetime-adapter.mjs +3 -3
  80. package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +3 -3
  81. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +6 -6
  82. package/esm2022/components/breadcrumb/breadcrumb.service.mjs +5 -5
  83. package/esm2022/components/breadcrumb/public-api.mjs +3 -1
  84. package/esm2022/components/card/card.component.mjs +5 -5
  85. package/esm2022/components/card/public-api.mjs +2 -1
  86. package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +7 -7
  87. package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +207 -114
  88. package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +4 -4
  89. package/esm2022/components/cascade/public-api.mjs +2 -1
  90. package/esm2022/components/chip-input/chip-input.component.mjs +152 -49
  91. package/esm2022/components/custom-formly/cmat-components-custom-formly.mjs +5 -0
  92. package/esm2022/components/custom-formly/extension/addons.extension.mjs +13 -0
  93. package/esm2022/components/custom-formly/public-api.mjs +22 -0
  94. package/esm2022/components/custom-formly/types/button/button.component.mjs +39 -0
  95. package/esm2022/components/custom-formly/types/checklist/checklist.component.mjs +161 -0
  96. package/esm2022/components/custom-formly/types/chips/chips.component.mjs +55 -0
  97. package/esm2022/components/custom-formly/types/multicheckbox/multicheckbox.component.mjs +89 -0
  98. package/esm2022/components/custom-formly/types/number/number.component.mjs +27 -0
  99. package/esm2022/components/custom-formly/types/radio/radio.component.mjs +88 -0
  100. package/esm2022/components/custom-formly/types/rating/rating.component.mjs +27 -0
  101. package/esm2022/components/custom-formly/types/repeat/repeat.component.mjs +28 -0
  102. package/esm2022/components/custom-formly/types/select/select.component.mjs +169 -0
  103. package/esm2022/components/custom-formly/types/select-tree/select-tree.component.mjs +66 -0
  104. package/esm2022/components/custom-formly/types/stepper/horizontal/stepper.component.mjs +31 -0
  105. package/esm2022/components/custom-formly/types/stepper/stepper.type.mjs +2 -0
  106. package/esm2022/components/custom-formly/types/stepper/vertical/stepper.component.mjs +31 -0
  107. package/esm2022/components/custom-formly/types/table/table.component.mjs +116 -0
  108. package/esm2022/components/custom-formly/types/tabs/tab.component.mjs +19 -0
  109. package/esm2022/components/custom-formly/types/tags/tags.component.mjs +149 -0
  110. package/esm2022/components/custom-formly/types/textarea/textarea.component.mjs +25 -0
  111. package/esm2022/components/custom-formly/wrappers/addons/addons.component.mjs +92 -0
  112. package/esm2022/components/custom-formly/wrappers/card/card.component.mjs +14 -0
  113. package/esm2022/components/custom-formly/wrappers/expansion/expansion.component.mjs +14 -0
  114. package/esm2022/components/custom-formly/wrappers/panel/panel.component.mjs +12 -0
  115. package/esm2022/components/date-range/date-range.component.mjs +26 -17
  116. package/esm2022/components/drawer/drawer.component.mjs +5 -5
  117. package/esm2022/components/drawer/drawer.service.mjs +3 -3
  118. package/esm2022/components/fullscreen/fullscreen.component.mjs +16 -73
  119. package/esm2022/components/fullscreen/public-api.mjs +1 -2
  120. package/esm2022/components/highlight/highlight.component.mjs +5 -5
  121. package/esm2022/components/highlight/highlight.service.mjs +3 -3
  122. package/esm2022/components/json-editor/json-editor.component.mjs +3 -3
  123. package/esm2022/components/masonry/masonry.component.mjs +5 -5
  124. package/esm2022/components/material-color-picker/material-color-picker.component.mjs +22 -12
  125. package/esm2022/components/material-datetimepicker/calendar-body.mjs +3 -3
  126. package/esm2022/components/material-datetimepicker/calendar.mjs +11 -12
  127. package/esm2022/components/material-datetimepicker/clock.mjs +5 -5
  128. package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +4 -5
  129. package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +3 -3
  130. package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +9 -9
  131. package/esm2022/components/material-datetimepicker/datetimepicker.mjs +17 -22
  132. package/esm2022/components/material-datetimepicker/month-view.mjs +5 -6
  133. package/esm2022/components/material-datetimepicker/multi-year-view.mjs +7 -8
  134. package/esm2022/components/material-datetimepicker/public-api.mjs +2 -1
  135. package/esm2022/components/material-datetimepicker/time.mjs +8 -8
  136. package/esm2022/components/material-datetimepicker/year-view.mjs +7 -8
  137. package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +8 -8
  138. package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +8 -8
  139. package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +5 -5
  140. package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +6 -6
  141. package/esm2022/components/navigation/horizontal/horizontal.component.mjs +6 -6
  142. package/esm2022/components/navigation/navigation.service.mjs +3 -3
  143. package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +11 -11
  144. package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +7 -24
  145. package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +10 -10
  146. package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +5 -5
  147. package/esm2022/components/navigation/vertical/components/group/group.component.mjs +9 -9
  148. package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +6 -6
  149. package/esm2022/components/navigation/vertical/vertical.component.mjs +11 -11
  150. package/esm2022/components/pagination/pagination.component.mjs +10 -10
  151. package/esm2022/components/pagination/pagination.directive.mjs +4 -4
  152. package/esm2022/components/pagination/pagination.pipe.mjs +4 -4
  153. package/esm2022/components/pagination/pagination.service.mjs +3 -3
  154. package/esm2022/components/pagination/public-api.mjs +2 -1
  155. package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +6 -6
  156. package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +5 -5
  157. package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +6 -6
  158. package/esm2022/components/popover/popover-trigger.mjs +444 -0
  159. package/esm2022/components/popover/popover.component.mjs +8 -9
  160. package/esm2022/components/popover/popover.target.mjs +18 -0
  161. package/esm2022/components/popover/public-api.mjs +4 -1
  162. package/esm2022/components/progress-bar/progress-bar.component.mjs +6 -6
  163. package/esm2022/components/rating/rating.component.mjs +122 -23
  164. package/esm2022/components/select-search/select-no-entries-found.directive.mjs +3 -3
  165. package/esm2022/components/select-search/select-search-clear.directive.mjs +3 -3
  166. package/esm2022/components/select-search/select-search.component.mjs +15 -15
  167. package/esm2022/components/select-tree/public-api.mjs +3 -1
  168. package/esm2022/components/select-tree/select-tree.component.mjs +281 -157
  169. package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +9 -9
  170. package/esm2022/components/timeline/timeline.component.mjs +5 -5
  171. package/esm2022/components/toast/public-api.mjs +5 -1
  172. package/esm2022/components/toast/toast-modal.component.mjs +5 -5
  173. package/esm2022/components/toast/toast.component.mjs +6 -6
  174. package/esm2022/components/toast/toast.service.mjs +3 -3
  175. package/esm2022/components/transfer-picker/filter/filter.component.mjs +9 -9
  176. package/esm2022/components/transfer-picker/search/search.component.mjs +6 -6
  177. package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +11 -11
  178. package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +5 -5
  179. package/esm2022/components/transfer-picker/transfer-picker.component.mjs +7 -7
  180. package/esm2022/components/transfer-picker/transfer-picker.service.mjs +4 -4
  181. package/esm2022/components/upload/cmat-components-upload.mjs +5 -0
  182. package/esm2022/components/upload/files.type.mjs +2 -0
  183. package/esm2022/components/upload/files.util.service.mjs +100 -0
  184. package/esm2022/components/upload/public-api.mjs +5 -0
  185. package/esm2022/components/upload/upload-queue/upload-queue.component.mjs +154 -0
  186. package/esm2022/components/upload/upload.component.mjs +118 -0
  187. package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +3 -3
  188. package/esm2022/directives/animate-on-scroll/scroll.service.mjs +3 -3
  189. package/esm2022/directives/autofocus/autofocus.directive.mjs +3 -3
  190. package/esm2022/directives/debounce/abstract-debounce.directive.mjs +3 -3
  191. package/esm2022/directives/debounce/debounce-click.directive.mjs +3 -3
  192. package/esm2022/directives/debounce/debounce-keyup.directive.mjs +3 -3
  193. package/esm2022/directives/digit-only/digit-only.directive.mjs +3 -3
  194. package/esm2022/directives/digit-only/mask.directive.mjs +3 -3
  195. package/esm2022/directives/equal-validator/equal-validator.directive.mjs +3 -3
  196. package/esm2022/lib/mock-api/mock-api.interceptor.mjs +5 -5
  197. package/esm2022/lib/mock-api/mock-api.service.mjs +3 -3
  198. package/esm2022/pipes/bytes/bytes.pipe.mjs +3 -3
  199. package/esm2022/pipes/date-format/date-format.pipe.mjs +3 -3
  200. package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +3 -3
  201. package/esm2022/pipes/group-by/group-by.pipe.mjs +3 -3
  202. package/esm2022/pipes/keys/keys.pipe.mjs +3 -3
  203. package/esm2022/pipes/secure/secure-pipe.mjs +5 -5
  204. package/esm2022/pipes/uppercase/uppercase.pipe.mjs +3 -3
  205. package/esm2022/public-api.mjs +1 -1
  206. package/esm2022/services/alert/alert.service.mjs +7 -7
  207. package/esm2022/services/alert/enum.mjs +2 -2
  208. package/esm2022/services/config/config.service.mjs +5 -5
  209. package/esm2022/services/config/urlStateConfig.service.mjs +5 -5
  210. package/esm2022/services/confirmation/confirmation.service.mjs +5 -5
  211. package/esm2022/services/confirmation/dialog/dialog.component.mjs +7 -7
  212. package/esm2022/services/data/data.service.mjs +5 -5
  213. package/esm2022/services/loading/loading.interceptor.mjs +4 -4
  214. package/esm2022/services/loading/loading.service.mjs +3 -3
  215. package/esm2022/services/local-storage/local-storage.service.mjs +3 -3
  216. package/esm2022/services/media-watcher/media-watcher.service.mjs +5 -5
  217. package/esm2022/services/platform/platform.service.mjs +4 -4
  218. package/esm2022/services/splash-screen/splash-screen.service.mjs +6 -6
  219. package/esm2022/services/title/title.service.mjs +4 -4
  220. package/esm2022/services/translation/translation.service.mjs +3 -3
  221. package/esm2022/services/utils/utils.service.mjs +54 -9
  222. package/fesm2022/cmat-animations.mjs +15 -15
  223. package/fesm2022/cmat-animations.mjs.map +1 -1
  224. package/fesm2022/cmat-components-adapter.mjs +11 -11
  225. package/fesm2022/cmat-components-adapter.mjs.map +1 -1
  226. package/fesm2022/cmat-components-breadcrumb.mjs +11 -11
  227. package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
  228. package/fesm2022/cmat-components-card.mjs +4 -4
  229. package/fesm2022/cmat-components-card.mjs.map +1 -1
  230. package/fesm2022/cmat-components-cascade.mjs +215 -123
  231. package/fesm2022/cmat-components-cascade.mjs.map +1 -1
  232. package/fesm2022/cmat-components-chip-input.mjs +153 -50
  233. package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
  234. package/fesm2022/cmat-components-custom-formly.mjs +1141 -0
  235. package/fesm2022/cmat-components-custom-formly.mjs.map +1 -0
  236. package/fesm2022/cmat-components-date-range.mjs +27 -18
  237. package/fesm2022/cmat-components-date-range.mjs.map +1 -1
  238. package/fesm2022/cmat-components-drawer.mjs +8 -8
  239. package/fesm2022/cmat-components-drawer.mjs.map +1 -1
  240. package/fesm2022/cmat-components-fullscreen.mjs +16 -73
  241. package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
  242. package/fesm2022/cmat-components-highlight.mjs +7 -7
  243. package/fesm2022/cmat-components-highlight.mjs.map +1 -1
  244. package/fesm2022/cmat-components-json-editor.mjs +3 -3
  245. package/fesm2022/cmat-components-masonry.mjs +4 -4
  246. package/fesm2022/cmat-components-masonry.mjs.map +1 -1
  247. package/fesm2022/cmat-components-material-color-picker.mjs +21 -11
  248. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  249. package/fesm2022/cmat-components-material-datetimepicker.mjs +189 -195
  250. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  251. package/fesm2022/cmat-components-navigation.mjs +166 -183
  252. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  253. package/fesm2022/cmat-components-pagination.mjs +20 -20
  254. package/fesm2022/cmat-components-pagination.mjs.map +1 -1
  255. package/fesm2022/cmat-components-password-strength.mjs +13 -13
  256. package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
  257. package/fesm2022/cmat-components-popover.mjs +464 -10
  258. package/fesm2022/cmat-components-popover.mjs.map +1 -1
  259. package/fesm2022/cmat-components-progress-bar.mjs +6 -6
  260. package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
  261. package/fesm2022/cmat-components-rating.mjs +121 -22
  262. package/fesm2022/cmat-components-rating.mjs.map +1 -1
  263. package/fesm2022/cmat-components-select-search.mjs +41 -41
  264. package/fesm2022/cmat-components-select-search.mjs.map +1 -1
  265. package/fesm2022/cmat-components-select-tree.mjs +285 -158
  266. package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
  267. package/fesm2022/cmat-components-timeline.mjs +12 -12
  268. package/fesm2022/cmat-components-timeline.mjs.map +1 -1
  269. package/fesm2022/cmat-components-toast.mjs +12 -12
  270. package/fesm2022/cmat-components-toast.mjs.map +1 -1
  271. package/fesm2022/cmat-components-transfer-picker.mjs +33 -33
  272. package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
  273. package/fesm2022/cmat-components-upload.mjs +366 -0
  274. package/fesm2022/cmat-components-upload.mjs.map +1 -0
  275. package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
  276. package/fesm2022/cmat-directives-autofocus.mjs +3 -3
  277. package/fesm2022/cmat-directives-debounce.mjs +9 -9
  278. package/fesm2022/cmat-directives-digit-only.mjs +6 -6
  279. package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
  280. package/fesm2022/cmat-lib-mock-api.mjs +6 -6
  281. package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
  282. package/fesm2022/cmat-pipes-bytes.mjs +3 -3
  283. package/fesm2022/cmat-pipes-date-format.mjs +3 -3
  284. package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
  285. package/fesm2022/cmat-pipes-group-by.mjs +3 -3
  286. package/fesm2022/cmat-pipes-keys.mjs +3 -3
  287. package/fesm2022/cmat-pipes-secure.mjs +4 -4
  288. package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
  289. package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
  290. package/fesm2022/cmat-services-alert.mjs +6 -6
  291. package/fesm2022/cmat-services-alert.mjs.map +1 -1
  292. package/fesm2022/cmat-services-config.mjs +7 -7
  293. package/fesm2022/cmat-services-config.mjs.map +1 -1
  294. package/fesm2022/cmat-services-confirmation.mjs +11 -11
  295. package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
  296. package/fesm2022/cmat-services-data.mjs +5 -5
  297. package/fesm2022/cmat-services-data.mjs.map +1 -1
  298. package/fesm2022/cmat-services-loading.mjs +6 -6
  299. package/fesm2022/cmat-services-loading.mjs.map +1 -1
  300. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  301. package/fesm2022/cmat-services-media-watcher.mjs +4 -4
  302. package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
  303. package/fesm2022/cmat-services-platform.mjs +3 -3
  304. package/fesm2022/cmat-services-platform.mjs.map +1 -1
  305. package/fesm2022/cmat-services-splash-screen.mjs +5 -5
  306. package/fesm2022/cmat-services-splash-screen.mjs.map +1 -1
  307. package/fesm2022/cmat-services-title.mjs +3 -3
  308. package/fesm2022/cmat-services-title.mjs.map +1 -1
  309. package/fesm2022/cmat-services-translation.mjs +3 -3
  310. package/fesm2022/cmat-services-utils.mjs +53 -8
  311. package/fesm2022/cmat-services-utils.mjs.map +1 -1
  312. package/package.json +75 -63
  313. package/pipes/secure/secure-pipe.d.ts +1 -1
  314. package/services/alert/enum.d.ts +1 -1
  315. package/services/confirmation/confirmation.service.d.ts +1 -1
  316. package/services/data/data.service.d.ts +1 -1
  317. package/services/media-watcher/media-watcher.service.d.ts +1 -1
  318. package/services/title/title.service.d.ts +1 -1
  319. package/services/utils/utils.service.d.ts +1 -0
  320. package/styles/components/bundle.scss +18 -5
  321. package/styles/overrides/angular-material.scss +51 -52
  322. package/styles/tailwind.scss +2 -8
  323. package/styles/themes.scss +7 -7
  324. package/styles/user-themes.scss +1 -1
  325. package/tailwind/plugins/utilities.js +1 -1
  326. package/components/fullscreen/fullscreen.types.d.ts +0 -13
  327. package/esm2022/components/fullscreen/fullscreen.types.mjs +0 -2
@@ -0,0 +1,161 @@
1
+ import { NgClass, AsyncPipe } from '@angular/common';
2
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
3
+ import { MatCheckboxModule } from '@angular/material/checkbox';
4
+ import { MatRippleModule } from '@angular/material/core';
5
+ import { MatIconModule } from '@angular/material/icon';
6
+ import { FieldType } from '@ngx-formly/material/form-field';
7
+ import { isArray } from 'lodash-es';
8
+ import { Subject, BehaviorSubject } from 'rxjs';
9
+ import { takeUntil } from 'rxjs/operators';
10
+ import { CmatSecurePipe } from 'cmat/pipes/secure';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/common/http";
13
+ import * as i2 from "@angular/material/checkbox";
14
+ import * as i3 from "@angular/material/icon";
15
+ import * as i4 from "@angular/material/core";
16
+ export class CmatCheckListTypeComponent extends FieldType {
17
+ constructor(_http) {
18
+ super();
19
+ this._http = _http;
20
+ this.isIndeterminate = false;
21
+ this.isChecked = false;
22
+ this.checklist = [];
23
+ this.filteredData = [];
24
+ this._filteredItems = new BehaviorSubject(null);
25
+ this._unsubscribeAll = new Subject();
26
+ }
27
+ get filteredItems$() {
28
+ return this._filteredItems.asObservable();
29
+ }
30
+ get datas() {
31
+ if (isArray(this.field.props?.options)) {
32
+ return this.urlData?.length > 0 ? this.urlData : this.field.props?.options || [];
33
+ }
34
+ else {
35
+ return this.urlData?.length > 0 ? this.urlData : this.optionsData || [];
36
+ }
37
+ }
38
+ ngOnInit() {
39
+ if (this.field.props?.options && !isArray(this.field.props?.options)) {
40
+ this.field.props?.options.pipe(takeUntil(this._unsubscribeAll)).subscribe((data) => {
41
+ this.optionsData = data;
42
+ });
43
+ }
44
+ const url = this.field.props?.domain?.url;
45
+ if (url && this.field.props?.domain?.code && this.field.props?.domain?.key && this.field.props?.domain?.value) {
46
+ this._http.get(url).pipe(takeUntil(this._unsubscribeAll)).subscribe((data) => {
47
+ if (data) {
48
+ const datas = data.filter((i) => {
49
+ if (this.field.props?.domain?.key)
50
+ return i[this.field.props?.domain?.key] === this.field.props?.domain?.code;
51
+ return false;
52
+ });
53
+ if (datas && this.field.props?.domain?.value) {
54
+ this.urlData = datas[0][this.field.props?.domain?.value];
55
+ }
56
+ else {
57
+ this.urlData = [];
58
+ }
59
+ }
60
+ else {
61
+ this.urlData = [];
62
+ }
63
+ this.filteredData = this.datas;
64
+ this._filteredItems.next(this.filteredData);
65
+ });
66
+ }
67
+ else {
68
+ this.urlData = [];
69
+ this.filteredData = this.datas;
70
+ this._filteredItems.next(this.filteredData);
71
+ }
72
+ this.formControl.valueChanges.pipe(takeUntil(this._unsubscribeAll)).subscribe((value) => {
73
+ this.checklist = value || [];
74
+ this._getAllCheckCountState();
75
+ });
76
+ }
77
+ ngOnDestroy() {
78
+ this._unsubscribeAll.next(void (0));
79
+ this._unsubscribeAll.complete();
80
+ }
81
+ trackByFn(index, item) {
82
+ return item.id || index;
83
+ }
84
+ filterByQuery(event) {
85
+ this.filteredData = this.datas.filter(data => data.value.toString().toLowerCase().includes(event) || data.label.toLowerCase().includes(event));
86
+ this._filteredItems.next(this.filteredData);
87
+ this._getAllCheckCountState();
88
+ }
89
+ toggleCheckList(data, event) {
90
+ event.preventDefault();
91
+ if (data.disabled || this.props.disabled)
92
+ return;
93
+ const index = this.checklist.findIndex(item => item.value === data.value);
94
+ if (index > -1) {
95
+ this.checklist.splice(index, 1);
96
+ }
97
+ else {
98
+ this.checklist.push(data);
99
+ }
100
+ this.formControl.setValue(this.checklist);
101
+ }
102
+ allCheckChange(check) {
103
+ if (check) {
104
+ this.filteredData.forEach((t) => {
105
+ const index = this.checklist.findIndex(item => item.value === t.value);
106
+ if (index < 0 && !t.disabled) {
107
+ this.checklist.push(t);
108
+ }
109
+ });
110
+ }
111
+ else {
112
+ this.filteredData.forEach((t) => {
113
+ const index = this.checklist.findIndex(item => item.value === t.value);
114
+ if (index > -1) {
115
+ this.checklist.splice(index, 1);
116
+ }
117
+ });
118
+ }
119
+ this.formControl.setValue(this.checklist);
120
+ }
121
+ isCheck(data) {
122
+ return this.formControl.value?.filter((i) => i.value === data.value).length > 0;
123
+ }
124
+ _getAllCheckCountState() {
125
+ if (this.props.showAllCheck && !this.props.disabled) {
126
+ let allCheckCount = 0;
127
+ if (this.checklist?.length > 0) {
128
+ this.filteredData.forEach((t) => {
129
+ const index = this.checklist.findIndex(item => item.value === t.value && !t.disabled);
130
+ if (index > -1) {
131
+ allCheckCount += 1;
132
+ }
133
+ });
134
+ if (this.filteredData.filter(i => !i.disabled).length === allCheckCount) {
135
+ this.isChecked = true;
136
+ this.isIndeterminate = false;
137
+ }
138
+ else if (allCheckCount === 0) {
139
+ this.isChecked = false;
140
+ this.isIndeterminate = false;
141
+ }
142
+ else {
143
+ this.isChecked = false;
144
+ this.isIndeterminate = true;
145
+ }
146
+ }
147
+ else {
148
+ this.checklist = [];
149
+ this.isChecked = false;
150
+ this.isIndeterminate = false;
151
+ }
152
+ }
153
+ }
154
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatCheckListTypeComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
155
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: CmatCheckListTypeComponent, isStandalone: true, selector: "cmat-checklist-type", usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col\">\r\n <div class=\"p-2\">\r\n @if(props.label){\r\n <legend class=\"text-lg\">\r\n {{ props.label }}\r\n @if(props.required){\r\n <span>*</span>\r\n }\r\n </legend>\r\n }\r\n @if(props.description){\r\n <p>{{ props.description }}</p>\r\n }\r\n </div>\r\n\r\n <div class=\"w-full h-full rounded border shadow bg-card\" [tabIndex]=\"props.tabindex\">\r\n <div class=\"flex items-center m-1 mr-2 min-h-12 print:hidden\">\r\n @if (props.showAllCheck&&!props.disabled) {\r\n <div>\r\n <mat-checkbox class=\"flex items-center h-10 min-h-10 m-1\" [color]=\"'primary'\" [checked]=\"isChecked\"\r\n [indeterminate]=\"isIndeterminate\" (change)=\"allCheckChange($event.checked)\">\r\n </mat-checkbox>\r\n </div>\r\n }\r\n <div class=\"flex items-center w-full\">\r\n <mat-icon class=\"icon-size-5\" [svgIcon]=\"'heroicons_solid:magnifying-glass'\"></mat-icon>\r\n <div class=\"ml-2\">\r\n <input class=\"w-full min-w-0 py-1 border-0\" type=\"text\" placeholder=\"\u8F93\u5165\u8FC7\u6EE4\u4FE1\u606F\"\r\n (input)=\"filterByQuery(query.value)\" #query>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"border-t overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\"\r\n [ngClass]=\"props.controlMaxHeight?'max-h-64 sm:max-h-128 lg:max-h-64':''\">\r\n @if ((filteredItems$ | async); as filteredItems) {\r\n @if(filteredItems.length>0){\r\n @for (data of filteredItems; track trackByFn($index, data)) {\r\n <div role=\"presentation\" class=\"flex items-center pl-2 pr-4 py-2 cursor-pointer hover:bg-hover\" matRipple\r\n (click)=\"toggleCheckList(data,$event)\">\r\n <mat-checkbox class=\"flex items-center h-10 min-h-10 pointer-events-none\" [color]=\"'primary'\" disableRipple\r\n [checked]=\"isCheck(data)\" [value]=\"data\" [disabled]=\"data.disabled||props.disabled\">\r\n <div class=\"flex flex-col flex-auto\">\r\n <div class=\"font-medium leading-5 truncate\">{{data.label}}</div>\r\n </div>\r\n </mat-checkbox>\r\n </div>\r\n }\r\n } @else {\r\n <div\r\n class=\"flex flex-auto flex-col items-center justify-center bg-slate-100 dark:bg-transparent h-64 sm:h-128 lg:h-64\">\r\n <mat-icon class=\"icon-size-24\" [svgIcon]=\"'heroicons_outline:document-magnifying-glass'\"></mat-icon>\r\n <div class=\"mt-4 text-2xl font-bold tracking-tight text-secondary\">\u6CA1\u6709\u6570\u636E!</div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n</div>", styles: [":host{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
156
+ }
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatCheckListTypeComponent, decorators: [{
158
+ type: Component,
159
+ args: [{ selector: 'cmat-checklist-type', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatCheckboxModule, MatIconModule, NgClass, MatRippleModule, AsyncPipe, CmatSecurePipe], template: "<div class=\"flex flex-col\">\r\n <div class=\"p-2\">\r\n @if(props.label){\r\n <legend class=\"text-lg\">\r\n {{ props.label }}\r\n @if(props.required){\r\n <span>*</span>\r\n }\r\n </legend>\r\n }\r\n @if(props.description){\r\n <p>{{ props.description }}</p>\r\n }\r\n </div>\r\n\r\n <div class=\"w-full h-full rounded border shadow bg-card\" [tabIndex]=\"props.tabindex\">\r\n <div class=\"flex items-center m-1 mr-2 min-h-12 print:hidden\">\r\n @if (props.showAllCheck&&!props.disabled) {\r\n <div>\r\n <mat-checkbox class=\"flex items-center h-10 min-h-10 m-1\" [color]=\"'primary'\" [checked]=\"isChecked\"\r\n [indeterminate]=\"isIndeterminate\" (change)=\"allCheckChange($event.checked)\">\r\n </mat-checkbox>\r\n </div>\r\n }\r\n <div class=\"flex items-center w-full\">\r\n <mat-icon class=\"icon-size-5\" [svgIcon]=\"'heroicons_solid:magnifying-glass'\"></mat-icon>\r\n <div class=\"ml-2\">\r\n <input class=\"w-full min-w-0 py-1 border-0\" type=\"text\" placeholder=\"\u8F93\u5165\u8FC7\u6EE4\u4FE1\u606F\"\r\n (input)=\"filterByQuery(query.value)\" #query>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"border-t overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\"\r\n [ngClass]=\"props.controlMaxHeight?'max-h-64 sm:max-h-128 lg:max-h-64':''\">\r\n @if ((filteredItems$ | async); as filteredItems) {\r\n @if(filteredItems.length>0){\r\n @for (data of filteredItems; track trackByFn($index, data)) {\r\n <div role=\"presentation\" class=\"flex items-center pl-2 pr-4 py-2 cursor-pointer hover:bg-hover\" matRipple\r\n (click)=\"toggleCheckList(data,$event)\">\r\n <mat-checkbox class=\"flex items-center h-10 min-h-10 pointer-events-none\" [color]=\"'primary'\" disableRipple\r\n [checked]=\"isCheck(data)\" [value]=\"data\" [disabled]=\"data.disabled||props.disabled\">\r\n <div class=\"flex flex-col flex-auto\">\r\n <div class=\"font-medium leading-5 truncate\">{{data.label}}</div>\r\n </div>\r\n </mat-checkbox>\r\n </div>\r\n }\r\n } @else {\r\n <div\r\n class=\"flex flex-auto flex-col items-center justify-center bg-slate-100 dark:bg-transparent h-64 sm:h-128 lg:h-64\">\r\n <mat-icon class=\"icon-size-24\" [svgIcon]=\"'heroicons_outline:document-magnifying-glass'\"></mat-icon>\r\n <div class=\"mt-4 text-2xl font-bold tracking-tight text-secondary\">\u6CA1\u6709\u6570\u636E!</div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n</div>", styles: [":host{width:100%}\n"] }]
160
+ }], ctorParameters: () => [{ type: i1.HttpClient }] });
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9jdXN0b20tZm9ybWx5L3R5cGVzL2NoZWNrbGlzdC9jaGVja2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2N1c3RvbS1mb3JtbHkvdHlwZXMvY2hlY2tsaXN0L2NoZWNrbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sRUFDSCxTQUFTLEVBQXFCLHVCQUF1QixFQUFFLGlCQUFpQixFQUMzRSxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFzQm5ELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxTQUEwQztJQWF0RixZQUFvQixLQUFpQjtRQUNqQyxLQUFLLEVBQUUsQ0FBQztRQURRLFVBQUssR0FBTCxLQUFLLENBQVk7UUFackMsb0JBQWUsR0FBRyxLQUFLLENB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QUFhLG9MQUFFLE9BQU8sbUZBQUUsZUFBZSw4UkFBRSxTQUFTOzsyRkFFdEUsMEJBQTBCO2tCQVR0QyxTQUFTOytCQUNJLHFCQUFxQixpQkFHaEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ21hdFNlY3VyZVBpcGUgfSBmcm9tICdjbWF0L3BpcGVzL3NlY3VyZSc7XHJcblxyXG5pbnRlcmZhY2UgQ2hlY2tMaXN0UHJvcHMgZXh0ZW5kcyBGb3JtbHlGaWVsZFByb3BzIHtcclxuICAgIHNob3dBbGxDaGVjazogYm9vbGVhbjtcclxuICAgIGNvbnRyb2xNYXhIZWlnaHQ6IGJvb2xlYW47XHJcbiAgICBkb21haW4/OiB7XHJcbiAgICAgICAgdXJsPzogc3RyaW5nO1xyXG4gICAgICAgIGNvZGU/OiBzdHJpbmc7XHJcbiAgICAgICAga2V5Pzogc3RyaW5nO1xyXG4gICAgICAgIHZhbHVlPzogc3RyaW5nO1xyXG4gICAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY21hdC1jaGVja2xpc3QtdHlwZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tsaXN0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NoZWNrbGlzdC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtNYXRDaGVja2JveE1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTmdDbGFzcywgTWF0UmlwcGxlTW9kdWxlLCBBc3luY1BpcGUsIENtYXRTZWN1cmVQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdENoZWNrTGlzdFR5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPENoZWNrTGlzdFByb3BzPj4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICAgIGlzQ2hlY2tlZCA9IGZhbHNlO1xyXG5cclxuICAgIHVybERhdGE6IFtdO1xyXG4gICAgb3B0aW9uc0RhdGE6IGFueVtdO1xyXG4gICAgY2hlY2tsaXN0OiBhbnlbXSA9IFtdO1xyXG4gICAgZmlsdGVyZWREYXRhOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgX2ZpbHRlcmVkSXRlbXM6IEJlaGF2aW9yU3ViamVjdDxhbnlbXSB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXSB8IG51bGw+KG51bGwpO1xyXG5cclxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZmlsdGVyZWRJdGVtcyQoKTogT2JzZXJ2YWJsZTxhbnlbXSB8IG51bGw+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyZWRJdGVtcy5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZGF0YXMoKTogYW55W10ge1xyXG4gICAgICAgIGlmIChpc0FycmF5KHRoaXMuZmllbGQucHJvcHM/Lm9wdGlvbnMpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnVybERhdGE/Lmxlbmd0aCA+IDAgPyB0aGlzLnVybERhdGEgOiB0aGlzLmZpZWxkLnByb3BzPy5vcHRpb25zIHx8IFtdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnVybERhdGE/Lmxlbmd0aCA+IDAgPyB0aGlzLnVybERhdGEgOiB0aGlzLm9wdGlvbnNEYXRhIHx8IFtdO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5maWVsZC5wcm9wcz8ub3B0aW9ucyAmJiAhaXNBcnJheSh0aGlzLmZpZWxkLnByb3BzPy5vcHRpb25zKSkge1xyXG4gICAgICAgICAgICB0aGlzLmZpZWxkLnByb3BzPy5vcHRpb25zLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKSkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnNEYXRhID0gZGF0YTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy51cmw7XHJcbiAgICAgICAgaWYgKHVybCAmJiB0aGlzLmZpZWxkLnByb3BzPy5kb21haW4/LmNvZGUgJiYgdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy5rZXkgJiYgdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy52YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9odHRwLmdldCh1cmwpLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKSkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFzID0gZGF0YS5maWx0ZXIoKGk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQucHJvcHM/LmRvbWFpbj8ua2V5KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpW3RoaXMuZmllbGQucHJvcHM/LmRvbWFpbj8ua2V5XSA9PT0gdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy5jb2RlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YXMgJiYgdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cmxEYXRhID0gZGF0YXNbMF1bdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy52YWx1ZV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVybERhdGEgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXJsRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YXM7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkSXRlbXMubmV4dCh0aGlzLmZpbHRlcmVkRGF0YSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy51cmxEYXRhID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhcztcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkSXRlbXMubmV4dCh0aGlzLmZpbHRlcmVkRGF0YSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbCkpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrbGlzdCA9IHZhbHVlfHxbXTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9nZXRBbGxDaGVja0NvdW50U3RhdGUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwubmV4dCh2b2lkICgwKSk7XHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KTogYW55IHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pZCB8fCBpbmRleDtcclxuICAgIH1cclxuXHJcbiAgICBmaWx0ZXJCeVF1ZXJ5KGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YXMuZmlsdGVyKGRhdGEgPT4gZGF0YS52YWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZXZlbnQpIHx8IGRhdGEubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhldmVudCkpO1xyXG4gICAgICAgIHRoaXMuX2ZpbHRlcmVkSXRlbXMubmV4dCh0aGlzLmZpbHRlcmVkRGF0YSk7XHJcblxyXG4gICAgICAgIHRoaXMuX2dldEFsbENoZWNrQ291bnRTdGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZUNoZWNrTGlzdChkYXRhOiBhbnksIGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgICAgICBpZiAoZGF0YS5kaXNhYmxlZCB8fCB0aGlzLnByb3BzLmRpc2FibGVkKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jaGVja2xpc3QuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gZGF0YS52YWx1ZSk7XHJcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAgICAgdGhpcy5jaGVja2xpc3Quc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNoZWNrbGlzdC5wdXNoKGRhdGEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmNoZWNrbGlzdCk7XHJcbiAgICB9XHJcblxyXG4gICAgYWxsQ2hlY2tDaGFuZ2UoY2hlY2s6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICBpZiAoY2hlY2spIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEuZm9yRWFjaCgodCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmNoZWNrbGlzdC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnZhbHVlID09PSB0LnZhbHVlKTtcclxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA8IDAgJiYgIXQuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrbGlzdC5wdXNoKHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEuZm9yRWFjaCgodCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmNoZWNrbGlzdC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnZhbHVlID09PSB0LnZhbHVlKTtcclxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja2xpc3Quc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuY2hlY2tsaXN0KTtcclxuICAgIH1cclxuXHJcbiAgICBpc0NoZWNrKGRhdGE6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1Db250cm9sLnZhbHVlPy5maWx0ZXIoKGk6IHsgdmFsdWU6IGFueTsgfSkgPT4gaS52YWx1ZSA9PT0gZGF0YS52YWx1ZSkubGVuZ3RoID4gMDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRBbGxDaGVja0NvdW50U3RhdGUoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuc2hvd0FsbENoZWNrICYmICF0aGlzLnByb3BzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGxldCBhbGxDaGVja0NvdW50ID0gMDtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmNoZWNrbGlzdD8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEuZm9yRWFjaCgodCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jaGVja2xpc3QuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gdC52YWx1ZSAmJiAhdC5kaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxsQ2hlY2tDb3VudCArPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcmVkRGF0YS5maWx0ZXIoaSA9PiAhaS5kaXNhYmxlZCkubGVuZ3RoID09PSBhbGxDaGVja0NvdW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0NoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNJbmRldGVybWluYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGFsbENoZWNrQ291bnQgPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNJbmRldGVybWluYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNDaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2xpc3QgPSBbXTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cclxuICA8ZGl2IGNsYXNzPVwicC0yXCI+XHJcbiAgICBAaWYocHJvcHMubGFiZWwpe1xyXG4gICAgPGxlZ2VuZCBjbGFzcz1cInRleHQtbGdcIj5cclxuICAgICAge3sgcHJvcHMubGFiZWwgfX1cclxuICAgICAgQGlmKHByb3BzLnJlcXVpcmVkKXtcclxuICAgICAgPHNwYW4+Kjwvc3Bhbj5cclxuICAgICAgfVxyXG4gICAgPC9sZWdlbmQ+XHJcbiAgICB9XHJcbiAgICBAaWYocHJvcHMuZGVzY3JpcHRpb24pe1xyXG4gICAgPHA+e3sgcHJvcHMuZGVzY3JpcHRpb24gfX08L3A+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIHJvdW5kZWQgYm9yZGVyIHNoYWRvdyBiZy1jYXJkXCIgW3RhYkluZGV4XT1cInByb3BzLnRhYmluZGV4XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbS0xIG1yLTIgbWluLWgtMTIgcHJpbnQ6aGlkZGVuXCI+XHJcbiAgICAgIEBpZiAocHJvcHMuc2hvd0FsbENoZWNrJiYhcHJvcHMuZGlzYWJsZWQpIHtcclxuICAgICAgPGRpdj5cclxuICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgaC0xMCBtaW4taC0xMCBtLTFcIiBbY29sb3JdPVwiJ3ByaW1hcnknXCIgW2NoZWNrZWRdPVwiaXNDaGVja2VkXCJcclxuICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cImlzSW5kZXRlcm1pbmF0ZVwiIChjaGFuZ2UpPVwiYWxsQ2hlY2tDaGFuZ2UoJGV2ZW50LmNoZWNrZWQpXCI+XHJcbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciB3LWZ1bGxcIj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uLXNpemUtNVwiIFtzdmdJY29uXT1cIidoZXJvaWNvbnNfc29saWQ6bWFnbmlmeWluZy1nbGFzcydcIj48L21hdC1pY29uPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbC0yXCI+XHJcbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJ3LWZ1bGwgbWluLXctMCBweS0xIGJvcmRlci0wXCIgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIui+k+WFpei/h+a7pOS/oeaBr1wiXHJcbiAgICAgICAgICAgIChpbnB1dCk9XCJmaWx0ZXJCeVF1ZXJ5KHF1ZXJ5LnZhbHVlKVwiICNxdWVyeT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJib3JkZXItdCBvdmVyZmxvdy15LWF1dG8gbGc6b3ZlcmZsb3cteS1oaWRkZW4gbGc6aG92ZXI6b3ZlcmZsb3cteS1hdXRvIHNjcm9sbGJhci1jdXN0b21cIlxyXG4gICAgICBbbmdDbGFzc109XCJwcm9wcy5jb250cm9sTWF4SGVpZ2h0PydtYXgtaC02NCBzbTptYXgtaC0xMjggbGc6bWF4LWgtNjQnOicnXCI+XHJcbiAgICAgIEBpZiAoKGZpbHRlcmVkSXRlbXMkIHwgYXN5bmMpOyBhcyBmaWx0ZXJlZEl0ZW1zKSB7XHJcbiAgICAgIEBpZihmaWx0ZXJlZEl0ZW1zLmxlbmd0aD4wKXtcclxuICAgICAgQGZvciAoZGF0YSBvZiBmaWx0ZXJlZEl0ZW1zOyB0cmFjayB0cmFja0J5Rm4oJGluZGV4LCBkYXRhKSkge1xyXG4gICAgICA8ZGl2IHJvbGU9XCJwcmVzZW50YXRpb25cIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHBsLTIgcHItNCBweS0yIGN1cnNvci1wb2ludGVyIGhvdmVyOmJnLWhvdmVyXCIgbWF0UmlwcGxlXHJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNoZWNrTGlzdChkYXRhLCRldmVudClcIj5cclxuICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgaC0xMCBtaW4taC0xMCBwb2ludGVyLWV2ZW50cy1ub25lXCIgW2NvbG9yXT1cIidwcmltYXJ5J1wiIGRpc2FibGVSaXBwbGVcclxuICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2soZGF0YSlcIiBbdmFsdWVdPVwiZGF0YVwiIFtkaXNhYmxlZF09XCJkYXRhLmRpc2FibGVkfHxwcm9wcy5kaXNhYmxlZFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZmxleC1hdXRvXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb250LW1lZGl1bSBsZWFkaW5nLTUgdHJ1bmNhdGVcIj57e2RhdGEubGFiZWx9fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtYXV0byBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYmctc2xhdGUtMTAwIGRhcms6YmctdHJhbnNwYXJlbnQgaC02NCBzbTpoLTEyOCBsZzpoLTY0XCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1zaXplLTI0XCIgW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19vdXRsaW5lOmRvY3VtZW50LW1hZ25pZnlpbmctZ2xhc3MnXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNCB0ZXh0LTJ4bCBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1zZWNvbmRhcnlcIj7msqHmnInmlbDmja4hPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,55 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { FieldType } from '@ngx-formly/material/form-field';
4
+ import { Subject, takeUntil } from 'rxjs';
5
+ import { CmatChipInputComponent } from 'cmat/components/chip-input';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "@angular/forms";
9
+ export class CmatChipsInputTypeComponent extends FieldType {
10
+ constructor(_http) {
11
+ super();
12
+ this._http = _http;
13
+ this._unsubscribeAll = new Subject();
14
+ }
15
+ get autocompleteText() {
16
+ return this.autocompleteUrlData?.length > 0 ? this.autocompleteUrlData : this.props?.autocompleteText?.split(',') || [];
17
+ }
18
+ ngOnInit() {
19
+ const url = this.props?.domain?.url;
20
+ if (url && this.props?.domain?.code && this.props?.domain?.key && this.props?.domain?.value) {
21
+ this._http.get(url).pipe(takeUntil(this._unsubscribeAll)).subscribe((data) => {
22
+ if (data) {
23
+ const datas = data.filter((i) => {
24
+ if (this.field.props?.domain?.key)
25
+ return i[this.field.props?.domain?.key] === this.field.props?.domain?.code;
26
+ return false;
27
+ });
28
+ if (datas && this.field.props?.domain?.value) {
29
+ this.autocompleteUrlData = datas[0][this.field.props?.domain?.value];
30
+ }
31
+ else {
32
+ this.autocompleteUrlData = [];
33
+ }
34
+ }
35
+ else {
36
+ this.autocompleteUrlData = [];
37
+ }
38
+ });
39
+ }
40
+ else {
41
+ this.autocompleteUrlData = [];
42
+ }
43
+ }
44
+ ngOnDestroy() {
45
+ this._unsubscribeAll.next(void 0);
46
+ this._unsubscribeAll.complete();
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatChipsInputTypeComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: CmatChipsInputTypeComponent, isStandalone: true, selector: "cmat-chips-input-type", usesInheritance: true, ngImport: i0, template: "<cmat-chip-input [hasAutocomplete]=\"props.hasAutocomplete??false\" [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\" [selectableOptions]=\"autocompleteText\" [tabIndex]=\"props.tabindex\" [required]=\"required\"></cmat-chip-input>", styles: [":host{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: CmatChipInputComponent, selector: "cmat-chip-input", inputs: ["id", "selectableOptions", "hasAutocomplete", "outputIsString", "separatorKey", "placeholder", "value", "required", "disabled"], exportAs: ["cmatChipInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatChipsInputTypeComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'cmat-chips-input-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ReactiveFormsModule, CmatChipInputComponent], template: "<cmat-chip-input [hasAutocomplete]=\"props.hasAutocomplete??false\" [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\" [selectableOptions]=\"autocompleteText\" [tabIndex]=\"props.tabindex\" [required]=\"required\"></cmat-chip-input>", styles: [":host{width:100%}\n"] }]
54
+ }], ctorParameters: () => [{ type: i1.HttpClient }] });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2N1c3RvbS1mb3JtbHkvdHlwZXMvY2hpcHMvY2hpcHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2N1c3RvbS1mb3JtbHkvdHlwZXMvY2hpcHMvY2hpcHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQXFCcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLFNBQTJDO0lBSzFGLFlBQW9CLEtBQWlCO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUY3QixvQkFBZSxHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO0lBSTNELENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxSCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztRQUNwQyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUMzRixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDakUsQ0FBQyxJQUFTLEVBQUUsRUFBRTtnQkFDWixJQUFJLElBQUksRUFBRTtvQkFDUixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7d0JBQ25DLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUc7NEJBQy9CLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO3dCQUU3RSxPQUFPLEtBQUssQ0FBQztvQkFDZixDQUFDLENBQ0EsQ0FBQztvQkFDRixJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3dCQUM1QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztxQkFDdEU7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztxQkFDL0I7aUJBQ0Y7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztpQkFDL0I7WUFDSCxDQUFDLENBQ0YsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVRLFdBQVc7UUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7OEdBNUNVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLHdHQzNCeEMsMFBBQzJJLDRFRHdCL0gsbUJBQW1CLHVoQkFBQyxzQkFBc0I7OzJGQUV6QywyQkFBMkI7a0JBUnZDLFNBQVM7K0JBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ21hdENoaXBJbnB1dENvbXBvbmVudCB9IGZyb20gJ2NtYXQvY29tcG9uZW50cy9jaGlwLWlucHV0JztcclxuXHJcbmludGVyZmFjZSBDaGlwc0lucHV0UHJvcHMgZXh0ZW5kcyBGb3JtbHlGaWVsZFByb3BzIHtcclxuICBoYXNBdXRvY29tcGxldGU/OiBib29sZWFuO1xyXG4gIGF1dG9jb21wbGV0ZVRleHQ/OiBzdHJpbmc7XHJcbiAgZG9tYWluPzoge1xyXG4gICAgdXJsPzogc3RyaW5nO1xyXG4gICAgY29kZT86IHN0cmluZztcclxuICAgIGtleT86IHN0cmluZztcclxuICAgIHZhbHVlPzogc3RyaW5nO1xyXG4gIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjbWF0LWNoaXBzLWlucHV0LXR5cGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGlwcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hpcHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLENtYXRDaGlwSW5wdXRDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0Q2hpcHNJbnB1dFR5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPENoaXBzSW5wdXRQcm9wcz4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGF1dG9jb21wbGV0ZVVybERhdGE6IFtdO1xyXG5cclxuICBwcml2YXRlIF91bnN1YnNjcmliZUFsbDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGF1dG9jb21wbGV0ZVRleHQoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlVXJsRGF0YT8ubGVuZ3RoID4gMCA/IHRoaXMuYXV0b2NvbXBsZXRlVXJsRGF0YSA6IHRoaXMucHJvcHM/LmF1dG9jb21wbGV0ZVRleHQ/LnNwbGl0KCcsJykgfHwgW107XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMucHJvcHM/LmRvbWFpbj8udXJsO1xyXG4gICAgaWYgKHVybCAmJiB0aGlzLnByb3BzPy5kb21haW4/LmNvZGUgJiYgdGhpcy5wcm9wcz8uZG9tYWluPy5rZXkgJiYgdGhpcy5wcm9wcz8uZG9tYWluPy52YWx1ZSkge1xyXG4gICAgICB0aGlzLl9odHRwLmdldCh1cmwpLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKSkuc3Vic2NyaWJlKFxyXG4gICAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGFzID0gZGF0YS5maWx0ZXIoKGk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLnByb3BzPy5kb21haW4/LmtleSlcclxuICAgICAgICAgICAgICAgIHJldHVybiBpW3RoaXMuZmllbGQucHJvcHM/LmRvbWFpbj8ua2V5XSA9PT0gdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy5jb2RlO1xyXG5cclxuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKGRhdGFzICYmIHRoaXMuZmllbGQucHJvcHM/LmRvbWFpbj8udmFsdWUpIHtcclxuICAgICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVVybERhdGEgPSBkYXRhc1swXVt0aGlzLmZpZWxkLnByb3BzPy5kb21haW4/LnZhbHVlXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVVybERhdGEgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVVcmxEYXRhID0gW107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hdXRvY29tcGxldGVVcmxEYXRhID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLm5leHQodm9pZCAwKTtcclxuICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59IiwiPGNtYXQtY2hpcC1pbnB1dCBbaGFzQXV0b2NvbXBsZXRlXT1cInByb3BzLmhhc0F1dG9jb21wbGV0ZT8/ZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW3NlbGVjdGFibGVPcHRpb25zXT1cImF1dG9jb21wbGV0ZVRleHRcIiBbdGFiSW5kZXhdPVwicHJvcHMudGFiaW5kZXhcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj48L2NtYXQtY2hpcC1pbnB1dD4iXX0=
@@ -0,0 +1,89 @@
1
+ import { AsyncPipe } from '@angular/common';
2
+ import { Component, ChangeDetectionStrategy, ViewChildren } from '@angular/core';
3
+ import { MatCheckbox, MatCheckboxModule } from '@angular/material/checkbox';
4
+ import { FormlySelectModule } from '@ngx-formly/core/select';
5
+ import { FieldType } from '@ngx-formly/material/form-field';
6
+ import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common/http";
9
+ import * as i2 from "@angular/material/checkbox";
10
+ import * as i3 from "@ngx-formly/core/select";
11
+ export class CmatMultiCheckboxTypeComponent extends FieldType {
12
+ constructor(_http) {
13
+ super();
14
+ this._http = _http;
15
+ this.defaultOptions = {
16
+ props: {
17
+ hideFieldUnderline: true,
18
+ floatLabel: 'always',
19
+ color: 'accent',
20
+ labelPosition: 'after'
21
+ },
22
+ };
23
+ this._urlData = new BehaviorSubject([]);
24
+ this._unsubscribeAll = new Subject();
25
+ }
26
+ get urlData$() {
27
+ return this._urlData.asObservable();
28
+ }
29
+ onChange(value, checked) {
30
+ this.formControl.markAsDirty();
31
+ if (this.props.type === 'array') {
32
+ this.formControl.patchValue(checked
33
+ ? [...(this.formControl.value || []), value]
34
+ : [...(this.formControl.value || [])].filter(o => o !== value));
35
+ }
36
+ else {
37
+ this.formControl.patchValue({ ...this.formControl.value, [value]: checked });
38
+ }
39
+ this.formControl.markAsTouched();
40
+ }
41
+ ngOnInit() {
42
+ const url = this.field.props?.domain?.url;
43
+ if (url && this.field.props?.domain?.code && this.field.props?.domain?.key && this.field.props?.domain?.value) {
44
+ this._http.get(url).pipe(takeUntil(this._unsubscribeAll)).subscribe((data) => {
45
+ if (data) {
46
+ const datas = data.filter((i) => {
47
+ if (this.field.props?.domain?.key)
48
+ return i[this.field.props?.domain?.key] === this.field.props?.domain?.code;
49
+ return false;
50
+ });
51
+ if (datas && this.field.props?.domain?.value) {
52
+ this._urlData.next(datas[0][this.field.props?.domain?.value]);
53
+ }
54
+ else {
55
+ this._urlData.next([]);
56
+ }
57
+ }
58
+ else {
59
+ this._urlData.next([]);
60
+ }
61
+ });
62
+ }
63
+ else {
64
+ this._urlData.next([]);
65
+ }
66
+ }
67
+ ngOnDestroy() {
68
+ this._unsubscribeAll.next(void 0);
69
+ this._unsubscribeAll.complete();
70
+ }
71
+ onContainerClick() { }
72
+ isChecked(option) {
73
+ const value = this.formControl.value;
74
+ return value && (this.props.type === 'array' ? value.indexOf(option.value) !== -1 : value[option.value]);
75
+ }
76
+ trackByFn(index) {
77
+ return index;
78
+ }
79
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatMultiCheckboxTypeComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
80
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: CmatMultiCheckboxTypeComponent, isStandalone: true, selector: "cmat-multicheckbox-type", viewQueries: [{ propertyName: "checkboxes", predicate: MatCheckbox, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if ((urlData$ | async); as urlData) {\r\n@for (option of (urlData.length > 0 ? urlData : (props.options | formlySelectOptions : field | async)); track\r\ntrackByFn($index)) {\r\n<mat-checkbox [tabIndex]=\"props.tabindex\" [color]=\"props.color\" [labelPosition]=\"props.labelPosition\"\r\n [checked]=\"isChecked(option)\" [disabled]=\"formControl.disabled || option.disabled\"\r\n (change)=\"onChange(option.value, $event.checked)\">\r\n {{ option.label }}\r\n</mat-checkbox>\r\n}\r\n}", styles: [":host{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormlySelectModule }, { kind: "pipe", type: i3.FormlySelectOptionsPipe, name: "formlySelectOptions" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
+ }
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatMultiCheckboxTypeComponent, decorators: [{
83
+ type: Component,
84
+ args: [{ selector: 'cmat-multicheckbox-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatCheckboxModule, AsyncPipe, FormlySelectModule], template: "@if ((urlData$ | async); as urlData) {\r\n@for (option of (urlData.length > 0 ? urlData : (props.options | formlySelectOptions : field | async)); track\r\ntrackByFn($index)) {\r\n<mat-checkbox [tabIndex]=\"props.tabindex\" [color]=\"props.color\" [labelPosition]=\"props.labelPosition\"\r\n [checked]=\"isChecked(option)\" [disabled]=\"formControl.disabled || option.disabled\"\r\n (change)=\"onChange(option.value, $event.checked)\">\r\n {{ option.label }}\r\n</mat-checkbox>\r\n}\r\n}", styles: [":host{width:100%}\n"] }]
85
+ }], ctorParameters: () => [{ type: i1.HttpClient }], propDecorators: { checkboxes: [{
86
+ type: ViewChildren,
87
+ args: [MatCheckbox]
88
+ }] } });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGljaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvY3VzdG9tLWZvcm1seS90eXBlcy9tdWx0aWNoZWNrYm94L211bHRpY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2N1c3RvbS1mb3JtbHkvdHlwZXMvbXVsdGljaGVja2JveC9tdWx0aWNoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLFlBQVksRUFBc0MsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQXdCdkUsTUFBTSxPQUFPLDhCQUErQixTQUFRLFNBQThDO0lBZTlGLFlBQW9CLEtBQWlCO1FBQ2pDLEtBQUssRUFBRSxDQUFDO1FBRFEsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQVo1QixtQkFBYyxHQUFHO1lBQ3RCLEtBQUssRUFBRTtnQkFDSCxrQkFBa0IsRUFBRSxJQUFJO2dCQUN4QixVQUFVLEVBQUUsUUFBaUI7Z0JBQzdCLEtBQUssRUFBRSxRQUFpQjtnQkFDeEIsYUFBYSxFQUFFLE9BQWdCO2FBQ2xDO1NBQ0osQ0FBQztRQUNNLGFBQVEsR0FBMkIsSUFBSSxlQUFl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QUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lBRVEsV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVRLGdCQUFnQixLQUFXLENBQUM7SUFFckMsU0FBUyxDQUFDLE1BQVc7UUFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFFckMsT0FBTyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OEdBaEZRLDhCQUE4QjtrR0FBOUIsOEJBQThCLGtIQUN6QixXQUFXLHVFQ2hDN0IsaWZBU0MsNEVEb0JhLGlCQUFpQix5V0FBRSxTQUFTLDZDQUFFLGtCQUFrQjs7MkZBRWpELDhCQUE4QjtrQkFSMUMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixDQUFDOytFQUdoQyxVQUFVO3NCQUFwQyxZQUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgVHlwZSwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3gsIE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBGaWVsZFR5cGVDb25maWcsIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1seVNlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUvc2VsZWN0JztcclxuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtbHlGaWVsZFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbnRlcmZhY2UgTXVsdGlDaGVja2JveFByb3BzIGV4dGVuZHMgRm9ybWx5RmllbGRQcm9wcyB7XHJcbiAgICBsYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcic7XHJcbiAgICBkb21haW4/OiB7XHJcbiAgICAgICAgdXJsPzogc3RyaW5nO1xyXG4gICAgICAgIGNvZGU/OiBzdHJpbmc7XHJcbiAgICAgICAga2V5Pzogc3RyaW5nO1xyXG4gICAgICAgIHZhbHVlPzogc3RyaW5nO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1seU11bHRpQ2hlY2tib3hGaWVsZENvbmZpZyBleHRlbmRzIEZvcm1seUZpZWxkQ29uZmlnPE11bHRpQ2hlY2tib3hQcm9wcz4ge1xyXG4gICAgdHlwZTogJ211bHRpY2hlY2tib3gnIHwgVHlwZTxDbWF0TXVsdGlDaGVja2JveFR5cGVDb21wb25lbnQ+O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY21hdC1tdWx0aWNoZWNrYm94LXR5cGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL211bHRpY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOlsnLi9tdWx0aWNoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTWF0Q2hlY2tib3hNb2R1bGUsIEFzeW5jUGlwZSwgRm9ybWx5U2VsZWN0TW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdE11bHRpQ2hlY2tib3hUeXBlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZzxNdWx0aUNoZWNrYm94UHJvcHM+PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBWaWV3Q2hpbGRyZW4oTWF0Q2hlY2tib3gpIGNoZWNrYm94ZXMhOiBRdWVyeUxpc3Q8TWF0Q2hlY2tib3g+O1xyXG5cclxuICAgIG92ZXJyaWRlIGRlZmF1bHRPcHRpb25zID0ge1xyXG4gICAgICAgIHByb3BzOiB7XHJcbiAgICAgICAgICAgIGhpZGVGaWVsZFVuZGVybGluZTogdHJ1ZSxcclxuICAgICAgICAgICAgZmxvYXRMYWJlbDogJ2Fsd2F5cycgYXMgY29uc3QsXHJcbiAgICAgICAgICAgIGNvbG9yOiAnYWNjZW50JyBhcyBjb25zdCxcclxuICAgICAgICAgICAgbGFiZWxQb3NpdGlvbjogJ2FmdGVyJyBhcyBjb25zdFxyXG4gICAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgcHJpdmF0ZSBfdXJsRGF0YTogQmVoYXZpb3JTdWJqZWN0PGFueVtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcclxuXHJcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUFsbDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCB1cmxEYXRhJCgpOiBPYnNlcnZhYmxlPGFueVtdID4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91cmxEYXRhLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ2hhbmdlKHZhbHVlOiBhbnksIGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvcHMudHlwZSA9PT0gJ2FycmF5Jykge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnBhdGNoVmFsdWUoXHJcbiAgICAgICAgICAgICAgICBjaGVja2VkXHJcbiAgICAgICAgICAgICAgICAgICAgPyBbLi4uKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUgfHwgW10pLCB2YWx1ZV1cclxuICAgICAgICAgICAgICAgICAgICA6IFsuLi4odGhpcy5mb3JtQ29udHJvbC52YWx1ZSB8fCBbXSldLmZpbHRlcihvID0+IG8gIT09IHZhbHVlKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnBhdGNoVmFsdWUoeyAuLi50aGlzLmZvcm1Db250cm9sLnZhbHVlLCBbdmFsdWVdOiBjaGVja2VkIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmZpZWxkLnByb3BzPy5kb21haW4/LnVybDtcclxuICAgICAgICBpZiAodXJsICYmIHRoaXMuZmllbGQucHJvcHM/LmRvbWFpbj8uY29kZSAmJiB0aGlzLmZpZWxkLnByb3BzPy5kb21haW4/LmtleSAmJiB0aGlzLmZpZWxkLnByb3BzPy5kb21haW4/LnZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2h0dHAuZ2V0KHVybCkucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YXMgPSBkYXRhLmZpbHRlcigoaTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy5rZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlbdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy5rZXldID09PSB0aGlzLmZpZWxkLnByb3BzPy5kb21haW4/LmNvZGU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhcyAmJiB0aGlzLmZpZWxkLnByb3BzPy5kb21haW4/LnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl91cmxEYXRhLm5leHQoZGF0YXNbMF1bdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy52YWx1ZV0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXJsRGF0YS5uZXh0KFtdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3VybERhdGEubmV4dChbXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3VybERhdGEubmV4dChbXSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLm5leHQodm9pZCAwKTtcclxuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIG9uQ29udGFpbmVyQ2xpY2soKTogdm9pZCB7IH1cclxuXHJcbiAgICBpc0NoZWNrZWQob3B0aW9uOiBhbnkpOiBhbnkge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHZhbHVlICYmICh0aGlzLnByb3BzLnR5cGUgPT09ICdhcnJheScgPyB2YWx1ZS5pbmRleE9mKG9wdGlvbi52YWx1ZSkgIT09IC0xIDogdmFsdWVbb3B0aW9uLnZhbHVlXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiBpbmRleDtcclxuICAgIH1cclxufVxyXG4iLCJAaWYgKCh1cmxEYXRhJCB8IGFzeW5jKTsgYXMgdXJsRGF0YSkge1xyXG5AZm9yIChvcHRpb24gb2YgKHVybERhdGEubGVuZ3RoID4gMCA/IHVybERhdGEgOiAocHJvcHMub3B0aW9ucyB8IGZvcm1seVNlbGVjdE9wdGlvbnMgOiBmaWVsZCB8IGFzeW5jKSk7IHRyYWNrXHJcbnRyYWNrQnlGbigkaW5kZXgpKSB7XHJcbjxtYXQtY2hlY2tib3ggW3RhYkluZGV4XT1cInByb3BzLnRhYmluZGV4XCIgW2NvbG9yXT1cInByb3BzLmNvbG9yXCIgW2xhYmVsUG9zaXRpb25dPVwicHJvcHMubGFiZWxQb3NpdGlvblwiXHJcbiAgICBbY2hlY2tlZF09XCJpc0NoZWNrZWQob3B0aW9uKVwiIFtkaXNhYmxlZF09XCJmb3JtQ29udHJvbC5kaXNhYmxlZCB8fCBvcHRpb24uZGlzYWJsZWRcIlxyXG4gICAgKGNoYW5nZSk9XCJvbkNoYW5nZShvcHRpb24udmFsdWUsICRldmVudC5jaGVja2VkKVwiPlxyXG4gICAge3sgb3B0aW9uLmxhYmVsIH19XHJcbjwvbWF0LWNoZWNrYm94PlxyXG59XHJcbn0iXX0=
@@ -0,0 +1,27 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { MatInputModule } from '@angular/material/input';
4
+ import { FieldType } from '@ngx-formly/material/form-field';
5
+ import { CmatDigitOnlyDirective } from 'cmat/directives/digit-only';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/input";
8
+ import * as i2 from "@angular/forms";
9
+ export class CmatNumberTypeComponent extends FieldType {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.defaultOptions = {
13
+ props: {
14
+ decimal: false,
15
+ min: -Infinity,
16
+ max: Infinity
17
+ },
18
+ };
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatNumberTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: CmatNumberTypeComponent, isStandalone: true, selector: "cmat-number-type", usesInheritance: true, ngImport: i0, template: "<input matInput [formControl]=\"formControl\" [readonly]=\"props.readonly\" [placeholder]=\"placeholder\" [tabIndex]=\"props.tabindex\" [required]=\"required\" [decimal]=\"props.decimal\" [allowNegatives]=\"true\" [allowPaste]=\"true\" [min]=\"props.min\"\r\n [max]=\"props.max\" [errorStateMatcher]=\"errorStateMatcher\" cmatDigitOnly>\r\n\r\n", styles: [":host{width:100%}\n"], dependencies: [{ kind: "directive", type: CmatDigitOnlyDirective, selector: "[cmatDigitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatNumberTypeComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'cmat-number-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CmatDigitOnlyDirective, MatInputModule, ReactiveFormsModule], template: "<input matInput [formControl]=\"formControl\" [readonly]=\"props.readonly\" [placeholder]=\"placeholder\" [tabIndex]=\"props.tabindex\" [required]=\"required\" [decimal]=\"props.decimal\" [allowNegatives]=\"true\" [allowPaste]=\"true\" [min]=\"props.min\"\r\n [max]=\"props.max\" [errorStateMatcher]=\"errorStateMatcher\" cmatDigitOnly>\r\n\r\n", styles: [":host{width:100%}\n"] }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9jdXN0b20tZm9ybWx5L3R5cGVzL251bWJlci9udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2N1c3RvbS1mb3JtbHkvdHlwZXMvbnVtYmVyL251bWJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsU0FBUyxFQUFvQixNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBZ0JwRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsU0FBdUM7SUFScEY7O1FBU2EsbUJBQWMsR0FBRztZQUN0QixLQUFLLEVBQUU7Z0JBQ0gsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsR0FBRyxFQUFFLENBQUMsUUFBUTtnQkFDZCxHQUFHLEVBQUUsUUFBUTthQUNoQjtTQUNKLENBQUM7S0FDTDs4R0FSWSx1QkFBdUI7a0dBQXZCLHVCQUF1QixtR0NyQnBDLDZWQUdBLDZFRGdCYyxzQkFBc0IsNktBQUUsY0FBYywwV0FBQyxtQkFBbUI7OzJGQUUzRCx1QkFBdUI7a0JBUm5DLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsc0JBQXNCLEVBQUUsY0FBYyxFQUFDLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBDbWF0RGlnaXRPbmx5RGlyZWN0aXZlIH0gZnJvbSAnY21hdC9kaXJlY3RpdmVzL2RpZ2l0LW9ubHknO1xyXG5cclxuaW50ZXJmYWNlIE51bWJlclByb3BzIGV4dGVuZHMgRm9ybWx5RmllbGRQcm9wcyB7XHJcbiAgICBkZWNpbWFsOiBib29sZWFuO1xyXG4gICAgbWluOiBudW1iZXI7XHJcbiAgICBtYXg6IG51bWJlcjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NtYXQtbnVtYmVyLXR5cGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL251bWJlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9udW1iZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtDbWF0RGlnaXRPbmx5RGlyZWN0aXZlLCBNYXRJbnB1dE1vZHVsZSxSZWFjdGl2ZUZvcm1zTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdE51bWJlclR5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPE51bWJlclByb3BzPj57XHJcbiAgICBvdmVycmlkZSBkZWZhdWx0T3B0aW9ucyA9IHtcclxuICAgICAgICBwcm9wczoge1xyXG4gICAgICAgICAgICBkZWNpbWFsOiBmYWxzZSxcclxuICAgICAgICAgICAgbWluOiAtSW5maW5pdHksXHJcbiAgICAgICAgICAgIG1heDogSW5maW5pdHlcclxuICAgICAgICB9LFxyXG4gICAgfTtcclxufSIsIjxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBbcmVhZG9ubHldPVwicHJvcHMucmVhZG9ubHlcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbdGFiSW5kZXhdPVwicHJvcHMudGFiaW5kZXhcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbZGVjaW1hbF09XCJwcm9wcy5kZWNpbWFsXCIgW2FsbG93TmVnYXRpdmVzXT1cInRydWVcIiBbYWxsb3dQYXN0ZV09XCJ0cnVlXCIgW21pbl09XCJwcm9wcy5taW5cIlxyXG4gICAgW21heF09XCJwcm9wcy5tYXhcIiBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwiZXJyb3JTdGF0ZU1hdGNoZXJcIiBjbWF0RGlnaXRPbmx5PlxyXG5cclxuIl19
@@ -0,0 +1,88 @@
1
+ import { AsyncPipe } from '@angular/common';
2
+ import { Component, ChangeDetectionStrategy, ViewChild } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { MatRadioGroup, MatRadioModule } from '@angular/material/radio';
5
+ import { ɵobserve as observe } from '@ngx-formly/core';
6
+ import { FormlySelectModule } from '@ngx-formly/core/select';
7
+ import { FieldType } from '@ngx-formly/material/form-field';
8
+ import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common/http";
11
+ import * as i2 from "@angular/material/radio";
12
+ import * as i3 from "@ngx-formly/core/select";
13
+ import * as i4 from "@angular/forms";
14
+ export class CmatRadioTypeComponent extends FieldType {
15
+ constructor(_http) {
16
+ super();
17
+ this._http = _http;
18
+ this.defaultOptions = {
19
+ props: {
20
+ hideFieldUnderline: true,
21
+ floatLabel: 'always',
22
+ tabindex: -1,
23
+ labelPosition: 'after'
24
+ },
25
+ };
26
+ this._urlData = new BehaviorSubject([]);
27
+ this._unsubscribeAll = new Subject();
28
+ }
29
+ get urlData$() {
30
+ return this._urlData.asObservable();
31
+ }
32
+ ngOnInit() {
33
+ const url = this.field.props?.domain?.url;
34
+ if (url && this.field.props?.domain?.code && this.field.props?.domain?.key && this.field.props?.domain?.value) {
35
+ this._http.get(url).pipe(takeUntil(this._unsubscribeAll)).subscribe((data) => {
36
+ if (data) {
37
+ const datas = data.filter((i) => {
38
+ if (this.field.props?.domain?.key)
39
+ return i[this.field.props?.domain?.key] === this.field.props?.domain?.code;
40
+ return false;
41
+ });
42
+ if (datas && this.field.props?.domain?.value) {
43
+ this._urlData.next(datas[0][this.field.props?.domain?.value]);
44
+ }
45
+ else {
46
+ this._urlData.next([]);
47
+ }
48
+ }
49
+ else {
50
+ this._urlData.next([]);
51
+ }
52
+ });
53
+ }
54
+ else {
55
+ this._urlData.next([]);
56
+ }
57
+ }
58
+ ngAfterViewInit() {
59
+ this.focusObserver = observe(this.field, ['focus'], ({ currentValue }) => {
60
+ if (this.props.tabindex === -1 && currentValue && this.radioGroup._radios.length > 0) {
61
+ setTimeout(() => {
62
+ const radio = this.radioGroup.selected ? this.radioGroup.selected : this.radioGroup._radios.first;
63
+ radio.focus();
64
+ });
65
+ }
66
+ });
67
+ }
68
+ onContainerClick() { }
69
+ ngOnDestroy() {
70
+ super.ngOnDestroy();
71
+ this.focusObserver && this.focusObserver.unsubscribe();
72
+ this._unsubscribeAll.next(void 0);
73
+ this._unsubscribeAll.complete();
74
+ }
75
+ trackByFn(index) {
76
+ return index;
77
+ }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatRadioTypeComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
79
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: CmatRadioTypeComponent, isStandalone: true, selector: "cmat-radio-type", viewQueries: [{ propertyName: "radioGroup", first: true, predicate: MatRadioGroup, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-radio-group [formControl]=\"formControl\" [required]=\"required\" [tabindex]=\"props.tabindex\">\r\n @if ((urlData$ | async); as urlData) {\r\n @for (option of (urlData.length > 0 ? urlData : (props.options | formlySelectOptions : field | async)); track\r\n trackByFn($index)) {\r\n <mat-radio-button [color]=\"props.color\" [labelPosition]=\"props.labelPosition\" [disabled]=\"option.disabled\"\r\n [value]=\"option.value\">\r\n {{ option.label }}\r\n </mat-radio-button>\r\n }\r\n }\r\n</mat-radio-group>", styles: [":host{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i2.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormlySelectModule }, { kind: "pipe", type: i3.FormlySelectOptionsPipe, name: "formlySelectOptions" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
80
+ }
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatRadioTypeComponent, decorators: [{
82
+ type: Component,
83
+ args: [{ selector: 'cmat-radio-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatRadioModule, AsyncPipe, FormlySelectModule, ReactiveFormsModule], template: "<mat-radio-group [formControl]=\"formControl\" [required]=\"required\" [tabindex]=\"props.tabindex\">\r\n @if ((urlData$ | async); as urlData) {\r\n @for (option of (urlData.length > 0 ? urlData : (props.options | formlySelectOptions : field | async)); track\r\n trackByFn($index)) {\r\n <mat-radio-button [color]=\"props.color\" [labelPosition]=\"props.labelPosition\" [disabled]=\"option.disabled\"\r\n [value]=\"option.value\">\r\n {{ option.label }}\r\n </mat-radio-button>\r\n }\r\n }\r\n</mat-radio-group>", styles: [":host{width:100%}\n"] }]
84
+ }], ctorParameters: () => [{ type: i1.HttpClient }], propDecorators: { radioGroup: [{
85
+ type: ViewChild,
86
+ args: [MatRadioGroup, { static: true }]
87
+ }] } });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2N1c3RvbS1mb3JtbHkvdHlwZXMvcmFkaW8vcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2N1c3RvbS1mb3JtbHkvdHlwZXMvcmFkaW8vcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUEwQyxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hFLE9BQU8sRUFBdUMsUUFBUSxJQUFJLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUF3QnZFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxTQUFzQztJQWdCOUUsWUFBb0IsS0FBaUI7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFEUSxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBYjVCLG1CQUFjLEdBQUc7WUFDdEIsS0FBSyxFQUFFO2dCQUNILGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLFVBQVUsRUFBRSxRQUFpQjtnQkFDN0IsUUFBUSxFQUFFLENBQUMsQ0FBQztn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QUFDO0lBQ1AsQ0FBQztJQUVRLGdCQUFnQixLQUFXLENBQUM7SUFFNUIsV0FBVztRQUNoQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDbkIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs4R0F6RVEsc0JBQXNCO2tHQUF0QixzQkFBc0IsdUhBQ3BCLGFBQWEscUZDakM1QixvaUJBVWtCLDRFRG9CSixjQUFjLGtpQkFBRSxTQUFTLDZDQUFFLGtCQUFrQiwrR0FBQyxtQkFBbUI7OzJGQUVsRSxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0ksaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBQyxtQkFBbUIsQ0FBQzsrRUFHaEMsVUFBVTtzQkFBckQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIFR5cGUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb0dyb3VwLCBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnLCBGb3JtbHlGaWVsZENvbmZpZyAsIMm1b2JzZXJ2ZSBhcyBvYnNlcnZlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1seVNlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUvc2VsZWN0JztcclxuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtbHlGaWVsZFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbnRlcmZhY2UgUmFkaW9Qcm9wcyBleHRlbmRzIEZvcm1seUZpZWxkUHJvcHMge1xyXG4gICAgbGFiZWxQb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInO1xyXG4gICAgZG9tYWluPzoge1xyXG4gICAgICAgIHVybD86IHN0cmluZztcclxuICAgICAgICBjb2RlPzogc3RyaW5nO1xyXG4gICAgICAgIGtleT86IHN0cmluZztcclxuICAgICAgICB2YWx1ZT86IHN0cmluZztcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtbHlSYWRpb0ZpZWxkQ29uZmlnIGV4dGVuZHMgRm9ybWx5RmllbGRDb25maWc8UmFkaW9Qcm9wcz4ge1xyXG4gICAgdHlwZTogJ3JhZGlvJyB8IFR5cGU8Q21hdFJhZGlvVHlwZUNvbXBvbmVudD47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjbWF0LXJhZGlvLXR5cGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczpbJy4vcmFkaW8uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtNYXRSYWRpb01vZHVsZSwgQXN5bmNQaXBlLCBGb3JtbHlTZWxlY3RNb2R1bGUsUmVhY3RpdmVGb3Jtc01vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIENtYXRSYWRpb1R5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPFJhZGlvUHJvcHM+PiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBWaWV3Q2hpbGQoTWF0UmFkaW9Hcm91cCwgeyBzdGF0aWM6IHRydWUgfSkgcmFkaW9Hcm91cCE6IE1hdFJhZGlvR3JvdXA7XHJcblxyXG4gICAgb3ZlcnJpZGUgZGVmYXVsdE9wdGlvbnMgPSB7XHJcbiAgICAgICAgcHJvcHM6IHtcclxuICAgICAgICAgICAgaGlkZUZpZWxkVW5kZXJsaW5lOiB0cnVlLFxyXG4gICAgICAgICAgICBmbG9hdExhYmVsOiAnYWx3YXlzJyBhcyBjb25zdCxcclxuICAgICAgICAgICAgdGFiaW5kZXg6IC0xLFxyXG4gICAgICAgICAgICBsYWJlbFBvc2l0aW9uOiAnYWZ0ZXInIGFzIGNvbnN0XHJcbiAgICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gICAgcHJpdmF0ZSBmb2N1c09ic2VydmVyITogUmV0dXJuVHlwZTx0eXBlb2Ygb2JzZXJ2ZT47XHJcbiAgICBwcml2YXRlIF91cmxEYXRhOiBCZWhhdmlvclN1YmplY3Q8YW55W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xyXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuICAgIGdldCB1cmxEYXRhJCgpOiBPYnNlcnZhYmxlPGFueVtdID4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91cmxEYXRhLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy51cmw7XHJcbiAgICAgICAgaWYgKHVybCAmJiB0aGlzLmZpZWxkLnByb3BzPy5kb21haW4/LmNvZGUgJiYgdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy5rZXkgJiYgdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy52YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9odHRwLmdldCh1cmwpLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKSkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFzID0gZGF0YS5maWx0ZXIoKGk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQucHJvcHM/LmRvbWFpbj8ua2V5KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpW3RoaXMuZmllbGQucHJvcHM/LmRvbWFpbj8ua2V5XSA9PT0gdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy5jb2RlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YXMgJiYgdGhpcy5maWVsZC5wcm9wcz8uZG9tYWluPy52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXJsRGF0YS5uZXh0KGRhdGFzWzBdW3RoaXMuZmllbGQucHJvcHM/LmRvbWFpbj8udmFsdWVdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3VybERhdGEubmV4dChbXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl91cmxEYXRhLm5leHQoW10pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl91cmxEYXRhLm5leHQoW10pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZm9jdXNPYnNlcnZlciA9IG9ic2VydmUodGhpcy5maWVsZCwgWydmb2N1cyddLCAoeyBjdXJyZW50VmFsdWUgfSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy50YWJpbmRleCA9PT0gLTEgJiYgY3VycmVudFZhbHVlICYmIHRoaXMucmFkaW9Hcm91cC5fcmFkaW9zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJhZGlvID0gdGhpcy5yYWRpb0dyb3VwLnNlbGVjdGVkID8gdGhpcy5yYWRpb0dyb3VwLnNlbGVjdGVkIDogdGhpcy5yYWRpb0dyb3VwLl9yYWRpb3MuZmlyc3Q7XHJcbiAgICAgICAgICAgICAgICAgICAgcmFkaW8uZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgb25Db250YWluZXJDbGljaygpOiB2b2lkIHsgfVxyXG5cclxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICAgICAgdGhpcy5mb2N1c09ic2VydmVyICYmIHRoaXMuZm9jdXNPYnNlcnZlci51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLm5leHQodm9pZCAwKTtcclxuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRyYWNrQnlGbihpbmRleDogbnVtYmVyKTogYW55IHtcclxuICAgICAgICByZXR1cm4gaW5kZXg7XHJcbiAgICB9XHJcbn1cclxuIiwiPG1hdC1yYWRpby1ncm91cCBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbdGFiaW5kZXhdPVwicHJvcHMudGFiaW5kZXhcIj5cclxuICAgIEBpZiAoKHVybERhdGEkIHwgYXN5bmMpOyBhcyB1cmxEYXRhKSB7XHJcbiAgICBAZm9yIChvcHRpb24gb2YgKHVybERhdGEubGVuZ3RoID4gMCA/IHVybERhdGEgOiAocHJvcHMub3B0aW9ucyB8IGZvcm1seVNlbGVjdE9wdGlvbnMgOiBmaWVsZCB8IGFzeW5jKSk7IHRyYWNrXHJcbiAgICB0cmFja0J5Rm4oJGluZGV4KSkge1xyXG4gICAgPG1hdC1yYWRpby1idXR0b24gW2NvbG9yXT1cInByb3BzLmNvbG9yXCIgW2xhYmVsUG9zaXRpb25dPVwicHJvcHMubGFiZWxQb3NpdGlvblwiIFtkaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWRcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cclxuICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX1cclxuICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgIH1cclxuICAgIH1cclxuPC9tYXQtcmFkaW8tZ3JvdXA+Il19
@@ -0,0 +1,27 @@
1
+ import { NgStyle } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { FieldType } from '@ngx-formly/material/form-field';
5
+ import { CmatRatingComponent } from 'cmat/components/rating';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/forms";
8
+ export class CmatRatingTypeComponent extends FieldType {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.defaultOptions = {
12
+ props: {
13
+ stars: 5,
14
+ readonly: false,
15
+ hover: true,
16
+ half: true
17
+ },
18
+ };
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatRatingTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: CmatRatingTypeComponent, isStandalone: true, selector: "cmat-rating-type", usesInheritance: true, ngImport: i0, template: "@if(props.customColor&&props.customColor.indexOf('#')>-1){\r\n<div [ngStyle]=\"{'color': props.customColor}\">\r\n <cmat-rating [formControl]=\"formControl\" [tabIndex]=\"props.tabindex\" [stars]=\"props.stars\"\r\n [readonly]=\"props.readonly\" [hover]=\"props.hover\" [half]=\"props.half\" [showMode]=\"props.showMode\"></cmat-rating>\r\n</div>\r\n}@else{\r\n<cmat-rating [formControl]=\"formControl\" [tabIndex]=\"props.tabindex\" [stars]=\"props.stars\" [readonly]=\"props.readonly\"\r\n [hover]=\"props.hover\" [half]=\"props.half\" [color]=\"props.customColor\" [showMode]=\"props.showMode\"></cmat-rating>\r\n}", styles: [":host{width:100%}\n"], dependencies: [{ kind: "component", type: CmatRatingComponent, selector: "cmat-rating", inputs: ["id", "stars", "readonly", "hover", "half", "color", "showMode", "placeholder", "value", "required", "disabled"], outputs: ["valueChange"], exportAs: ["cmatRating"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatRatingTypeComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'cmat-rating-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CmatRatingComponent, ReactiveFormsModule, NgStyle], template: "@if(props.customColor&&props.customColor.indexOf('#')>-1){\r\n<div [ngStyle]=\"{'color': props.customColor}\">\r\n <cmat-rating [formControl]=\"formControl\" [tabIndex]=\"props.tabindex\" [stars]=\"props.stars\"\r\n [readonly]=\"props.readonly\" [hover]=\"props.hover\" [half]=\"props.half\" [showMode]=\"props.showMode\"></cmat-rating>\r\n</div>\r\n}@else{\r\n<cmat-rating [formControl]=\"formControl\" [tabIndex]=\"props.tabindex\" [stars]=\"props.stars\" [readonly]=\"props.readonly\"\r\n [hover]=\"props.hover\" [half]=\"props.half\" [color]=\"props.customColor\" [showMode]=\"props.showMode\"></cmat-rating>\r\n}", styles: [":host{width:100%}\n"] }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9jdXN0b20tZm9ybWx5L3R5cGVzL3JhdGluZy9yYXRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2N1c3RvbS1mb3JtbHkvdHlwZXMvcmF0aW5nL3JhdGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsU0FBUyxFQUFvQixNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFtQjdELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxTQUF1QztJQVJwRjs7UUFTYSxtQkFBYyxHQUFHO1lBQ3RCLEtBQUssRUFBRTtnQkFDSCxLQUFLLEVBQUUsQ0FBQztnQkFDUixRQUFRLEVBQUUsS0FBSztnQkFDZixLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUUsSUFBSTthQUNiO1NBQ0osQ0FBQztLQUVMOzhHQVZZLHVCQUF1QjtrR0FBdkIsdUJBQXVCLG1HQ3hCcEMsd25CQVFDLDZFRGNhLG1CQUFtQixzT0FBRSxtQkFBbUIsMFRBQUMsT0FBTzs7MkZBRWpELHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBQyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGaWVsZFR5cGVDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcclxuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtbHlGaWVsZFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IENtYXRSYXRpbmdDb21wb25lbnQgfSBmcm9tICdjbWF0L2NvbXBvbmVudHMvcmF0aW5nJztcclxuXHJcbmludGVyZmFjZSBSYXRpbmdQcm9wcyBleHRlbmRzIEZvcm1seUZpZWxkUHJvcHMge1xyXG4gICAgc3RhcnM6IG51bWJlcjtcclxuICAgIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgaG92ZXI6IGJvb2xlYW47XHJcbiAgICBoYWxmOiBib29sZWFuO1xyXG4gICAgY3VzdG9tQ29sb3I/OiBzdHJpbmc7XHJcbiAgICBzaG93TW9kZT86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjbWF0LXJhdGluZy10eXBlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYXRpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcmF0aW5nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbQ21hdFJhdGluZ0NvbXBvbmVudCwgUmVhY3RpdmVGb3Jtc01vZHVsZSxOZ1N0eWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdFJhdGluZ1R5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPFJhdGluZ1Byb3BzPj57XHJcbiAgICBvdmVycmlkZSBkZWZhdWx0T3B0aW9ucyA9IHtcclxuICAgICAgICBwcm9wczoge1xyXG4gICAgICAgICAgICBzdGFyczogNSxcclxuICAgICAgICAgICAgcmVhZG9ubHk6IGZhbHNlLFxyXG4gICAgICAgICAgICBob3ZlcjogdHJ1ZSxcclxuICAgICAgICAgICAgaGFsZjogdHJ1ZVxyXG4gICAgICAgIH0sXHJcbiAgICB9O1xyXG5cclxufSIsIkBpZihwcm9wcy5jdXN0b21Db2xvciYmcHJvcHMuY3VzdG9tQ29sb3IuaW5kZXhPZignIycpPi0xKXtcclxuPGRpdiBbbmdTdHlsZV09XCJ7J2NvbG9yJzogcHJvcHMuY3VzdG9tQ29sb3J9XCI+XHJcbiAgICA8Y21hdC1yYXRpbmcgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgW3RhYkluZGV4XT1cInByb3BzLnRhYmluZGV4XCIgW3N0YXJzXT1cInByb3BzLnN0YXJzXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwicHJvcHMucmVhZG9ubHlcIiBbaG92ZXJdPVwicHJvcHMuaG92ZXJcIiBbaGFsZl09XCJwcm9wcy5oYWxmXCIgW3Nob3dNb2RlXT1cInByb3BzLnNob3dNb2RlXCI+PC9jbWF0LXJhdGluZz5cclxuPC9kaXY+XHJcbn1AZWxzZXtcclxuPGNtYXQtcmF0aW5nIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiIFt0YWJJbmRleF09XCJwcm9wcy50YWJpbmRleFwiIFtzdGFyc109XCJwcm9wcy5zdGFyc1wiIFtyZWFkb25seV09XCJwcm9wcy5yZWFkb25seVwiXHJcbiAgICBbaG92ZXJdPVwicHJvcHMuaG92ZXJcIiBbaGFsZl09XCJwcm9wcy5oYWxmXCIgW2NvbG9yXT1cInByb3BzLmN1c3RvbUNvbG9yXCIgW3Nob3dNb2RlXT1cInByb3BzLnNob3dNb2RlXCI+PC9jbWF0LXJhdGluZz5cclxufSJdfQ==