cmat 0.0.7 → 0.0.9

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 (320) 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/card/card.component.d.ts +1 -1
  4. package/components/cascade/cascade-list/cascade-list.component.d.ts +45 -21
  5. package/components/chip-input/chip-input.component.d.ts +39 -12
  6. package/components/custom-formly/extension/addons.extension.d.ts +2 -0
  7. package/components/custom-formly/index.d.ts +5 -0
  8. package/components/custom-formly/public-api.d.ts +26 -0
  9. package/components/custom-formly/types/button/button.component.d.ts +18 -0
  10. package/components/custom-formly/types/cascade/cascade.component.d.ts +38 -0
  11. package/components/custom-formly/types/checklist/checklist.component.d.ts +41 -0
  12. package/components/custom-formly/types/chips/chips.component.d.ts +27 -0
  13. package/components/custom-formly/types/color-picker/color-picker.component.d.ts +7 -0
  14. package/components/custom-formly/types/date-range/date-range.component.d.ts +20 -0
  15. package/components/custom-formly/types/datepicker/datepicker.component.d.ts +41 -0
  16. package/components/custom-formly/types/multicheckbox/multicheckbox.component.d.ts +44 -0
  17. package/components/custom-formly/types/number/number.component.d.ts +20 -0
  18. package/components/custom-formly/types/radio/radio.component.d.ts +44 -0
  19. package/components/custom-formly/types/rating/rating.component.d.ts +24 -0
  20. package/components/custom-formly/types/repeat/repeat.component.d.ts +16 -0
  21. package/components/custom-formly/types/select/select.component.d.ts +54 -0
  22. package/components/custom-formly/types/select-tree/select-tree.component.d.ts +43 -0
  23. package/components/custom-formly/types/stepper/horizontal/stepper.component.d.ts +9 -0
  24. package/components/custom-formly/types/stepper/stepper.type.d.ts +6 -0
  25. package/components/custom-formly/types/stepper/vertical/stepper.component.d.ts +9 -0
  26. package/components/custom-formly/types/table/table.component.d.ts +43 -0
  27. package/components/custom-formly/types/tabs/tab.component.d.ts +8 -0
  28. package/components/custom-formly/types/tags/tags.component.d.ts +41 -0
  29. package/components/custom-formly/types/textarea/textarea.component.d.ts +13 -0
  30. package/components/custom-formly/types/upload/upload.component.d.ts +31 -0
  31. package/components/custom-formly/wrappers/addons/addons.component.d.ts +10 -0
  32. package/components/custom-formly/wrappers/card/card.component.d.ts +6 -0
  33. package/components/custom-formly/wrappers/expansion/expansion.component.d.ts +6 -0
  34. package/components/custom-formly/wrappers/panel/panel.component.d.ts +6 -0
  35. package/components/date-range/date-range.component.d.ts +8 -6
  36. package/components/drawer/drawer.component.d.ts +2 -2
  37. package/components/fullscreen/fullscreen.component.d.ts +2 -9
  38. package/components/fullscreen/public-api.d.ts +0 -1
  39. package/components/material-color-picker/material-color-picker.component.d.ts +8 -4
  40. package/components/material-datetimepicker/calendar.d.ts +2 -2
  41. package/components/material-datetimepicker/clock.d.ts +1 -1
  42. package/components/material-datetimepicker/datetimepicker-input.d.ts +1 -1
  43. package/components/material-datetimepicker/datetimepicker-toggle.d.ts +1 -1
  44. package/components/material-datetimepicker/datetimepicker.d.ts +5 -10
  45. package/components/material-datetimepicker/month-view.d.ts +1 -2
  46. package/components/material-datetimepicker/multi-year-view.d.ts +1 -1
  47. package/components/material-datetimepicker/time.d.ts +2 -2
  48. package/components/material-datetimepicker/year-view.d.ts +1 -1
  49. package/components/navigation/horizontal/components/basic/basic.component.d.ts +1 -1
  50. package/components/navigation/horizontal/components/branch/branch.component.d.ts +1 -1
  51. package/components/navigation/horizontal/horizontal.component.d.ts +2 -2
  52. package/components/navigation/vertical/components/aside/aside.component.d.ts +1 -1
  53. package/components/navigation/vertical/components/basic/basic.component.d.ts +1 -7
  54. package/components/navigation/vertical/components/collapsable/collapsable.component.d.ts +1 -1
  55. package/components/navigation/vertical/components/group/group.component.d.ts +1 -1
  56. package/components/navigation/vertical/vertical.component.d.ts +5 -5
  57. package/components/popover/popover-trigger.d.ts +1 -1
  58. package/components/popover/popover.component.d.ts +3 -3
  59. package/components/rating/rating.component.d.ts +38 -9
  60. package/components/select-search/select-search.component.d.ts +4 -4
  61. package/components/select-tree/select-tree.component.d.ts +50 -21
  62. package/components/toast/toast.component.d.ts +4 -4
  63. package/components/transfer-picker/filter/filter.component.d.ts +1 -1
  64. package/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.d.ts +2 -2
  65. package/components/transfer-picker/transfer-picker.component.d.ts +1 -1
  66. package/components/upload/files.type.d.ts +22 -0
  67. package/components/upload/files.util.service.d.ts +20 -0
  68. package/components/upload/index.d.ts +5 -0
  69. package/components/upload/public-api.d.ts +4 -0
  70. package/components/upload/upload-queue/upload-queue.component.d.ts +39 -0
  71. package/components/upload/upload.component.d.ts +32 -0
  72. package/esm2022/animations/public-api.mjs +2 -2
  73. package/esm2022/components/adapter/dayjs-date-adapter.mjs +6 -6
  74. package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +5 -5
  75. package/esm2022/components/adapter/native-datetime-adapter.mjs +3 -3
  76. package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +3 -3
  77. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +6 -6
  78. package/esm2022/components/breadcrumb/breadcrumb.service.mjs +5 -5
  79. package/esm2022/components/card/card.component.mjs +5 -5
  80. package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +7 -7
  81. package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +207 -114
  82. package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +4 -4
  83. package/esm2022/components/chip-input/chip-input.component.mjs +152 -49
  84. package/esm2022/components/custom-formly/cmat-components-custom-formly.mjs +5 -0
  85. package/esm2022/components/custom-formly/extension/addons.extension.mjs +13 -0
  86. package/esm2022/components/custom-formly/public-api.mjs +27 -0
  87. package/esm2022/components/custom-formly/types/button/button.component.mjs +39 -0
  88. package/esm2022/components/custom-formly/types/cascade/cascade.component.mjs +71 -0
  89. package/esm2022/components/custom-formly/types/checklist/checklist.component.mjs +161 -0
  90. package/esm2022/components/custom-formly/types/chips/chips.component.mjs +55 -0
  91. package/esm2022/components/custom-formly/types/color-picker/color-picker.component.mjs +15 -0
  92. package/esm2022/components/custom-formly/types/date-range/date-range.component.mjs +25 -0
  93. package/esm2022/components/custom-formly/types/datepicker/datepicker.component.mjs +51 -0
  94. package/esm2022/components/custom-formly/types/multicheckbox/multicheckbox.component.mjs +89 -0
  95. package/esm2022/components/custom-formly/types/number/number.component.mjs +27 -0
  96. package/esm2022/components/custom-formly/types/radio/radio.component.mjs +88 -0
  97. package/esm2022/components/custom-formly/types/rating/rating.component.mjs +27 -0
  98. package/esm2022/components/custom-formly/types/repeat/repeat.component.mjs +28 -0
  99. package/esm2022/components/custom-formly/types/select/select.component.mjs +169 -0
  100. package/esm2022/components/custom-formly/types/select-tree/select-tree.component.mjs +66 -0
  101. package/esm2022/components/custom-formly/types/stepper/horizontal/stepper.component.mjs +31 -0
  102. package/esm2022/components/custom-formly/types/stepper/stepper.type.mjs +2 -0
  103. package/esm2022/components/custom-formly/types/stepper/vertical/stepper.component.mjs +31 -0
  104. package/esm2022/components/custom-formly/types/table/table.component.mjs +116 -0
  105. package/esm2022/components/custom-formly/types/tabs/tab.component.mjs +19 -0
  106. package/esm2022/components/custom-formly/types/tags/tags.component.mjs +149 -0
  107. package/esm2022/components/custom-formly/types/textarea/textarea.component.mjs +25 -0
  108. package/esm2022/components/custom-formly/types/upload/upload.component.mjs +58 -0
  109. package/esm2022/components/custom-formly/wrappers/addons/addons.component.mjs +92 -0
  110. package/esm2022/components/custom-formly/wrappers/card/card.component.mjs +14 -0
  111. package/esm2022/components/custom-formly/wrappers/expansion/expansion.component.mjs +14 -0
  112. package/esm2022/components/custom-formly/wrappers/panel/panel.component.mjs +12 -0
  113. package/esm2022/components/date-range/date-range.component.mjs +26 -17
  114. package/esm2022/components/drawer/drawer.component.mjs +5 -5
  115. package/esm2022/components/drawer/drawer.service.mjs +3 -3
  116. package/esm2022/components/fullscreen/fullscreen.component.mjs +16 -73
  117. package/esm2022/components/fullscreen/public-api.mjs +1 -2
  118. package/esm2022/components/highlight/highlight.component.mjs +5 -5
  119. package/esm2022/components/highlight/highlight.service.mjs +3 -3
  120. package/esm2022/components/json-editor/json-editor.component.mjs +3 -3
  121. package/esm2022/components/masonry/masonry.component.mjs +5 -5
  122. package/esm2022/components/material-color-picker/material-color-picker.component.mjs +22 -12
  123. package/esm2022/components/material-datetimepicker/calendar-body.mjs +3 -3
  124. package/esm2022/components/material-datetimepicker/calendar.mjs +11 -12
  125. package/esm2022/components/material-datetimepicker/clock.mjs +5 -5
  126. package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +4 -5
  127. package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +3 -3
  128. package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +9 -9
  129. package/esm2022/components/material-datetimepicker/datetimepicker.mjs +17 -22
  130. package/esm2022/components/material-datetimepicker/month-view.mjs +5 -6
  131. package/esm2022/components/material-datetimepicker/multi-year-view.mjs +7 -8
  132. package/esm2022/components/material-datetimepicker/time.mjs +8 -8
  133. package/esm2022/components/material-datetimepicker/year-view.mjs +7 -8
  134. package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +8 -8
  135. package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +8 -8
  136. package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +5 -5
  137. package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +6 -6
  138. package/esm2022/components/navigation/horizontal/horizontal.component.mjs +6 -6
  139. package/esm2022/components/navigation/navigation.service.mjs +3 -3
  140. package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +11 -11
  141. package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +7 -24
  142. package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +10 -10
  143. package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +5 -5
  144. package/esm2022/components/navigation/vertical/components/group/group.component.mjs +9 -9
  145. package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +6 -6
  146. package/esm2022/components/navigation/vertical/vertical.component.mjs +11 -11
  147. package/esm2022/components/pagination/pagination.component.mjs +10 -10
  148. package/esm2022/components/pagination/pagination.directive.mjs +4 -4
  149. package/esm2022/components/pagination/pagination.pipe.mjs +4 -4
  150. package/esm2022/components/pagination/pagination.service.mjs +3 -3
  151. package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +6 -6
  152. package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +5 -5
  153. package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +6 -6
  154. package/esm2022/components/popover/popover-trigger.mjs +5 -5
  155. package/esm2022/components/popover/popover.component.mjs +8 -9
  156. package/esm2022/components/popover/popover.target.mjs +3 -3
  157. package/esm2022/components/progress-bar/progress-bar.component.mjs +6 -6
  158. package/esm2022/components/rating/rating.component.mjs +122 -23
  159. package/esm2022/components/select-search/select-no-entries-found.directive.mjs +3 -3
  160. package/esm2022/components/select-search/select-search-clear.directive.mjs +3 -3
  161. package/esm2022/components/select-search/select-search.component.mjs +15 -15
  162. package/esm2022/components/select-tree/select-tree.component.mjs +281 -157
  163. package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +9 -9
  164. package/esm2022/components/timeline/timeline.component.mjs +5 -5
  165. package/esm2022/components/toast/toast-modal.component.mjs +5 -5
  166. package/esm2022/components/toast/toast.component.mjs +6 -6
  167. package/esm2022/components/toast/toast.service.mjs +3 -3
  168. package/esm2022/components/transfer-picker/filter/filter.component.mjs +9 -9
  169. package/esm2022/components/transfer-picker/search/search.component.mjs +6 -6
  170. package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +11 -11
  171. package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +5 -5
  172. package/esm2022/components/transfer-picker/transfer-picker.component.mjs +7 -7
  173. package/esm2022/components/transfer-picker/transfer-picker.service.mjs +4 -4
  174. package/esm2022/components/upload/cmat-components-upload.mjs +5 -0
  175. package/esm2022/components/upload/files.type.mjs +2 -0
  176. package/esm2022/components/upload/files.util.service.mjs +100 -0
  177. package/esm2022/components/upload/public-api.mjs +5 -0
  178. package/esm2022/components/upload/upload-queue/upload-queue.component.mjs +154 -0
  179. package/esm2022/components/upload/upload.component.mjs +118 -0
  180. package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +3 -3
  181. package/esm2022/directives/animate-on-scroll/scroll.service.mjs +3 -3
  182. package/esm2022/directives/autofocus/autofocus.directive.mjs +3 -3
  183. package/esm2022/directives/debounce/abstract-debounce.directive.mjs +3 -3
  184. package/esm2022/directives/debounce/debounce-click.directive.mjs +3 -3
  185. package/esm2022/directives/debounce/debounce-keyup.directive.mjs +3 -3
  186. package/esm2022/directives/digit-only/digit-only.directive.mjs +3 -3
  187. package/esm2022/directives/digit-only/mask.directive.mjs +3 -3
  188. package/esm2022/directives/equal-validator/equal-validator.directive.mjs +3 -3
  189. package/esm2022/lib/mock-api/mock-api.interceptor.mjs +5 -5
  190. package/esm2022/lib/mock-api/mock-api.service.mjs +3 -3
  191. package/esm2022/pipes/bytes/bytes.pipe.mjs +3 -3
  192. package/esm2022/pipes/date-format/date-format.pipe.mjs +3 -3
  193. package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +3 -3
  194. package/esm2022/pipes/group-by/group-by.pipe.mjs +3 -3
  195. package/esm2022/pipes/keys/keys.pipe.mjs +3 -3
  196. package/esm2022/pipes/secure/secure-pipe.mjs +5 -5
  197. package/esm2022/pipes/uppercase/uppercase.pipe.mjs +3 -3
  198. package/esm2022/public-api.mjs +1 -1
  199. package/esm2022/services/alert/alert.service.mjs +7 -7
  200. package/esm2022/services/alert/enum.mjs +2 -2
  201. package/esm2022/services/config/config.service.mjs +5 -5
  202. package/esm2022/services/config/urlStateConfig.service.mjs +5 -5
  203. package/esm2022/services/confirmation/confirmation.service.mjs +5 -5
  204. package/esm2022/services/confirmation/dialog/dialog.component.mjs +7 -7
  205. package/esm2022/services/data/data.service.mjs +5 -5
  206. package/esm2022/services/loading/loading.interceptor.mjs +4 -4
  207. package/esm2022/services/loading/loading.service.mjs +3 -3
  208. package/esm2022/services/local-storage/local-storage.service.mjs +3 -3
  209. package/esm2022/services/media-watcher/media-watcher.service.mjs +5 -5
  210. package/esm2022/services/platform/platform.service.mjs +4 -4
  211. package/esm2022/services/splash-screen/splash-screen.service.mjs +6 -6
  212. package/esm2022/services/title/title.service.mjs +4 -4
  213. package/esm2022/services/translation/translation.service.mjs +3 -3
  214. package/esm2022/services/utils/utils.service.mjs +54 -9
  215. package/fesm2022/cmat-animations.mjs +15 -15
  216. package/fesm2022/cmat-animations.mjs.map +1 -1
  217. package/fesm2022/cmat-components-adapter.mjs +11 -11
  218. package/fesm2022/cmat-components-adapter.mjs.map +1 -1
  219. package/fesm2022/cmat-components-breadcrumb.mjs +11 -11
  220. package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
  221. package/fesm2022/cmat-components-card.mjs +4 -4
  222. package/fesm2022/cmat-components-card.mjs.map +1 -1
  223. package/fesm2022/cmat-components-cascade.mjs +215 -123
  224. package/fesm2022/cmat-components-cascade.mjs.map +1 -1
  225. package/fesm2022/cmat-components-chip-input.mjs +153 -50
  226. package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
  227. package/fesm2022/cmat-components-custom-formly.mjs +1331 -0
  228. package/fesm2022/cmat-components-custom-formly.mjs.map +1 -0
  229. package/fesm2022/cmat-components-date-range.mjs +27 -18
  230. package/fesm2022/cmat-components-date-range.mjs.map +1 -1
  231. package/fesm2022/cmat-components-drawer.mjs +8 -8
  232. package/fesm2022/cmat-components-drawer.mjs.map +1 -1
  233. package/fesm2022/cmat-components-fullscreen.mjs +16 -73
  234. package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
  235. package/fesm2022/cmat-components-highlight.mjs +7 -7
  236. package/fesm2022/cmat-components-highlight.mjs.map +1 -1
  237. package/fesm2022/cmat-components-json-editor.mjs +3 -3
  238. package/fesm2022/cmat-components-masonry.mjs +4 -4
  239. package/fesm2022/cmat-components-masonry.mjs.map +1 -1
  240. package/fesm2022/cmat-components-material-color-picker.mjs +21 -11
  241. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  242. package/fesm2022/cmat-components-material-datetimepicker.mjs +189 -195
  243. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  244. package/fesm2022/cmat-components-navigation.mjs +166 -183
  245. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  246. package/fesm2022/cmat-components-pagination.mjs +20 -20
  247. package/fesm2022/cmat-components-pagination.mjs.map +1 -1
  248. package/fesm2022/cmat-components-password-strength.mjs +13 -13
  249. package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
  250. package/fesm2022/cmat-components-popover.mjs +13 -14
  251. package/fesm2022/cmat-components-popover.mjs.map +1 -1
  252. package/fesm2022/cmat-components-progress-bar.mjs +6 -6
  253. package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
  254. package/fesm2022/cmat-components-rating.mjs +121 -22
  255. package/fesm2022/cmat-components-rating.mjs.map +1 -1
  256. package/fesm2022/cmat-components-select-search.mjs +41 -41
  257. package/fesm2022/cmat-components-select-search.mjs.map +1 -1
  258. package/fesm2022/cmat-components-select-tree.mjs +281 -157
  259. package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
  260. package/fesm2022/cmat-components-timeline.mjs +12 -12
  261. package/fesm2022/cmat-components-timeline.mjs.map +1 -1
  262. package/fesm2022/cmat-components-toast.mjs +12 -12
  263. package/fesm2022/cmat-components-toast.mjs.map +1 -1
  264. package/fesm2022/cmat-components-transfer-picker.mjs +33 -33
  265. package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
  266. package/fesm2022/cmat-components-upload.mjs +366 -0
  267. package/fesm2022/cmat-components-upload.mjs.map +1 -0
  268. package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
  269. package/fesm2022/cmat-directives-autofocus.mjs +3 -3
  270. package/fesm2022/cmat-directives-debounce.mjs +9 -9
  271. package/fesm2022/cmat-directives-digit-only.mjs +6 -6
  272. package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
  273. package/fesm2022/cmat-lib-mock-api.mjs +6 -6
  274. package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
  275. package/fesm2022/cmat-pipes-bytes.mjs +3 -3
  276. package/fesm2022/cmat-pipes-date-format.mjs +3 -3
  277. package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
  278. package/fesm2022/cmat-pipes-group-by.mjs +3 -3
  279. package/fesm2022/cmat-pipes-keys.mjs +3 -3
  280. package/fesm2022/cmat-pipes-secure.mjs +4 -4
  281. package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
  282. package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
  283. package/fesm2022/cmat-services-alert.mjs +6 -6
  284. package/fesm2022/cmat-services-alert.mjs.map +1 -1
  285. package/fesm2022/cmat-services-config.mjs +7 -7
  286. package/fesm2022/cmat-services-config.mjs.map +1 -1
  287. package/fesm2022/cmat-services-confirmation.mjs +11 -11
  288. package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
  289. package/fesm2022/cmat-services-data.mjs +5 -5
  290. package/fesm2022/cmat-services-data.mjs.map +1 -1
  291. package/fesm2022/cmat-services-loading.mjs +6 -6
  292. package/fesm2022/cmat-services-loading.mjs.map +1 -1
  293. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  294. package/fesm2022/cmat-services-media-watcher.mjs +4 -4
  295. package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
  296. package/fesm2022/cmat-services-platform.mjs +3 -3
  297. package/fesm2022/cmat-services-platform.mjs.map +1 -1
  298. package/fesm2022/cmat-services-splash-screen.mjs +5 -5
  299. package/fesm2022/cmat-services-splash-screen.mjs.map +1 -1
  300. package/fesm2022/cmat-services-title.mjs +3 -3
  301. package/fesm2022/cmat-services-title.mjs.map +1 -1
  302. package/fesm2022/cmat-services-translation.mjs +3 -3
  303. package/fesm2022/cmat-services-utils.mjs +53 -8
  304. package/fesm2022/cmat-services-utils.mjs.map +1 -1
  305. package/package.json +30 -18
  306. package/pipes/secure/secure-pipe.d.ts +1 -1
  307. package/services/alert/enum.d.ts +1 -1
  308. package/services/confirmation/confirmation.service.d.ts +1 -1
  309. package/services/data/data.service.d.ts +1 -1
  310. package/services/media-watcher/media-watcher.service.d.ts +1 -1
  311. package/services/title/title.service.d.ts +1 -1
  312. package/services/utils/utils.service.d.ts +1 -0
  313. package/styles/components/bundle.scss +18 -5
  314. package/styles/overrides/angular-material.scss +51 -52
  315. package/styles/tailwind.scss +2 -8
  316. package/styles/themes.scss +7 -7
  317. package/styles/user-themes.scss +1 -1
  318. package/tailwind/plugins/utilities.js +1 -1
  319. package/components/fullscreen/fullscreen.types.d.ts +0 -13
  320. package/esm2022/components/fullscreen/fullscreen.types.mjs +0 -2
@@ -13,13 +13,13 @@ export class CmatCascadeMenuComponent {
13
13
  trackByFn(index, item) {
14
14
  return index || item;
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatCascadeMenuComponent, deps: [{ token: i1.CmatCascadeListComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CmatCascadeMenuComponent, isStandalone: true, selector: "cmat-cascade-menu", exportAs: ["cmatCascadeMenu"], ngImport: i0, template: "@for (menuItem of root.steps; track trackByFn(step, menuItem); let step = $index) {\n <mat-list class=\"menu-list overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\"\n >\n @for (listItem of menuItem; track trackByFn(i, listItem); let i = $index) {\n <mat-list-item class=\"menu-item\"\n [class.active]=\"listItem.active\" [class.disabled]=\"listItem.disabled\"\n (click)=\"root.selectHandle($event, step, i);\">\n <div matLine>{{listItem.label}}</div>\n @if (listItem.children && listItem.children.length) {\n <mat-icon class=\"item-icon\" [svgIcon]=\"'mat_outline:chevron_right'\"\n ></mat-icon>\n }\n </mat-list-item>\n }\n </mat-list>\n}", styles: ["cmat-cascade-menu{height:200px;z-index:2007;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;white-space:nowrap}cmat-cascade-menu .menu-list{display:inline-block;border-right-width:1px;box-sizing:border-box;margin:0;padding:.5rem;overflow:hidden;position:relative;height:200px;min-width:200px;vertical-align:top}cmat-cascade-menu .menu-list:last-child{border-right-width:0px}cmat-cascade-menu .menu-item{line-height:3rem;padding:0 16px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;cursor:pointer!important}cmat-cascade-menu .menu-item.disabled{cursor:not-allowed!important}cmat-cascade-menu .menu-item .item-icon{position:absolute;justify-items:center;top:50%;bottom:50%;right:0;transform:translateY(-50%)}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], animations: [cmatAnimations], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatCascadeMenuComponent, deps: [{ token: i1.CmatCascadeListComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: CmatCascadeMenuComponent, isStandalone: true, selector: "cmat-cascade-menu", exportAs: ["cmatCascadeMenu"], ngImport: i0, template: "@for (menuItem of root.steps; track trackByFn(step, menuItem); let step = $index) {\n <mat-list class=\"menu-list overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\"\n >\n @for (listItem of menuItem; track trackByFn(i, listItem); let i = $index) {\n <mat-list-item class=\"menu-item\"\n [class.active]=\"listItem.active\" [class.disabled]=\"listItem.disabled\"\n (click)=\"root.selectHandle($event, step, i);\">\n <div matLine>{{listItem.label}}</div>\n @if (listItem.children && listItem.children.length) {\n <mat-icon class=\"item-icon\" [svgIcon]=\"'mat_outline:chevron_right'\"\n ></mat-icon>\n }\n </mat-list-item>\n }\n </mat-list>\n}", styles: ["cmat-cascade-menu{height:200px;z-index:2007;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;white-space:nowrap}cmat-cascade-menu .menu-list{display:inline-block;border-right-width:1px;box-sizing:border-box;margin:0;padding:.5rem;overflow:hidden;position:relative;height:200px;min-width:200px;vertical-align:top}cmat-cascade-menu .menu-list:last-child{border-right-width:0px}cmat-cascade-menu .menu-item{line-height:3rem;padding:0 16px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;cursor:pointer!important}cmat-cascade-menu .menu-item.disabled{cursor:not-allowed!important}cmat-cascade-menu .menu-item .item-icon{position:absolute;justify-items:center;top:50%;bottom:50%;right:0;transform:translateY(-50%)}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], animations: [cmatAnimations], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatCascadeMenuComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatCascadeMenuComponent, decorators: [{
20
20
  type: Component,
21
21
  args: [{ selector: 'cmat-cascade-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatCascadeMenu', animations: [cmatAnimations], standalone: true, imports: [MatListModule, MatIconModule], template: "@for (menuItem of root.steps; track trackByFn(step, menuItem); let step = $index) {\n <mat-list class=\"menu-list overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\"\n >\n @for (listItem of menuItem; track trackByFn(i, listItem); let i = $index) {\n <mat-list-item class=\"menu-item\"\n [class.active]=\"listItem.active\" [class.disabled]=\"listItem.disabled\"\n (click)=\"root.selectHandle($event, step, i);\">\n <div matLine>{{listItem.label}}</div>\n @if (listItem.children && listItem.children.length) {\n <mat-icon class=\"item-icon\" [svgIcon]=\"'mat_outline:chevron_right'\"\n ></mat-icon>\n }\n </mat-list-item>\n }\n </mat-list>\n}", styles: ["cmat-cascade-menu{height:200px;z-index:2007;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;white-space:nowrap}cmat-cascade-menu .menu-list{display:inline-block;border-right-width:1px;box-sizing:border-box;margin:0;padding:.5rem;overflow:hidden;position:relative;height:200px;min-width:200px;vertical-align:top}cmat-cascade-menu .menu-list:last-child{border-right-width:0px}cmat-cascade-menu .menu-item{line-height:3rem;padding:0 16px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;cursor:pointer!important}cmat-cascade-menu .menu-item.disabled{cursor:not-allowed!important}cmat-cascade-menu .menu-item .item-icon{position:absolute;justify-items:center;top:50%;bottom:50%;right:0;transform:translateY(-50%)}\n"] }]
22
22
  }], ctorParameters: () => [{ type: i1.CmatCascadeListComponent, decorators: [{
23
23
  type: Optional
24
24
  }] }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzY2FkZS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9jYXNjYWRlL2Nhc2NhZGUtbWVudS9jYXNjYWRlLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2Nhc2NhZGUvY2FzY2FkZS1tZW51L2Nhc2NhZGUtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFhakQsTUFBTSxPQUFPLHdCQUF3QjtJQUVqQyxZQUN1QixJQUE4QjtRQUE5QixTQUFJLEdBQUosSUFBSSxDQUEwQjtJQUdyRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFTO1FBQzlCLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQztJQUN6QixDQUFDOzhHQVZRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDRHQ2xCckMseXVCQWVDLG0xQkRDYSxhQUFhLHVSQUFFLGFBQWEsc0tBRjFCLENBQUMsY0FBYyxDQUFDOzsyRkFJbkIsd0JBQXdCO2tCQVhwQyxTQUFTOytCQUNJLG1CQUFtQixpQkFHZCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGlCQUFpQixjQUNmLENBQUMsY0FBYyxDQUFDLGNBQ2hCLElBQUksV0FDUCxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUM7OzBCQUtsQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9wdGlvbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgQ21hdENhc2NhZGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vY2FzY2FkZS1saXN0L2Nhc2NhZGUtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBjbWF0QW5pbWF0aW9ucyB9IGZyb20gJ2NtYXQvYW5pbWF0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY21hdC1jYXNjYWRlLW1lbnUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Nhc2NhZGUtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jYXNjYWRlLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGV4cG9ydEFzOiAnY21hdENhc2NhZGVNZW51JyxcclxuICAgIGFuaW1hdGlvbnM6IFtjbWF0QW5pbWF0aW9uc10sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW01hdExpc3RNb2R1bGUsIE1hdEljb25Nb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0Q2FzY2FkZU1lbnVDb21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBPcHRpb25hbCgpIHB1YmxpYyByb290OiBDbWF0Q2FzY2FkZUxpc3RDb21wb25lbnQsXHJcbiAgICApIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIGluZGV4IHx8IGl0ZW07XHJcbiAgICB9XHJcbn1cclxuIiwiQGZvciAobWVudUl0ZW0gb2Ygcm9vdC5zdGVwczsgdHJhY2sgdHJhY2tCeUZuKHN0ZXAsIG1lbnVJdGVtKTsgbGV0IHN0ZXAgPSAkaW5kZXgpIHtcbiAgPG1hdC1saXN0IGNsYXNzPVwibWVudS1saXN0IG92ZXJmbG93LXktYXV0byBsZzpvdmVyZmxvdy15LWhpZGRlbiBsZzpob3ZlcjpvdmVyZmxvdy15LWF1dG8gc2Nyb2xsYmFyLWN1c3RvbVwiXG4gICAgPlxuICAgIEBmb3IgKGxpc3RJdGVtIG9mIG1lbnVJdGVtOyB0cmFjayB0cmFja0J5Rm4oaSwgbGlzdEl0ZW0pOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgPG1hdC1saXN0LWl0ZW0gY2xhc3M9XCJtZW51LWl0ZW1cIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImxpc3RJdGVtLmFjdGl2ZVwiIFtjbGFzcy5kaXNhYmxlZF09XCJsaXN0SXRlbS5kaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJyb290LnNlbGVjdEhhbmRsZSgkZXZlbnQsIHN0ZXAsIGkpO1wiPlxuICAgICAgICA8ZGl2IG1hdExpbmU+e3tsaXN0SXRlbS5sYWJlbH19PC9kaXY+XG4gICAgICAgIEBpZiAobGlzdEl0ZW0uY2hpbGRyZW4gJiYgbGlzdEl0ZW0uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaXRlbS1pY29uXCIgW3N2Z0ljb25dPVwiJ21hdF9vdXRsaW5lOmNoZXZyb25fcmlnaHQnXCJcbiAgICAgICAgICA+PC9tYXQtaWNvbj5cbiAgICAgICAgfVxuICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgIH1cbiAgPC9tYXQtbGlzdD5cbn0iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzY2FkZS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9jYXNjYWRlL2Nhc2NhZGUtbWVudS9jYXNjYWRlLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2Nhc2NhZGUvY2FzY2FkZS1tZW51L2Nhc2NhZGUtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFjakQsTUFBTSxPQUFPLHdCQUF3QjtJQUVqQyxZQUN1QixJQUE4QjtRQUE5QixTQUFJLEdBQUosSUFBSSxDQUEwQjtJQUdyRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFTO1FBQzlCLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQztJQUN6QixDQUFDOzhHQVZRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDRHQ2xCckMseXVCQWVDLG0xQkRDYSxhQUFhLHVSQUFFLGFBQWEsc0tBRjFCLENBQUMsY0FBYyxDQUFDOzsyRkFJbkIsd0JBQXdCO2tCQVhwQyxTQUFTOytCQUNJLG1CQUFtQixpQkFHZCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGlCQUFpQixjQUNmLENBQUMsY0FBYyxDQUFDLGNBQ2hCLElBQUksV0FDUCxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUM7OzBCQUtsQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9wdGlvbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgY21hdEFuaW1hdGlvbnMgfSBmcm9tICdjbWF0L2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDbWF0Q2FzY2FkZUxpc3RDb21wb25lbnQgfSBmcm9tICcuLi9jYXNjYWRlLWxpc3QvY2FzY2FkZS1saXN0LmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY21hdC1jYXNjYWRlLW1lbnUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Nhc2NhZGUtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jYXNjYWRlLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGV4cG9ydEFzOiAnY21hdENhc2NhZGVNZW51JyxcclxuICAgIGFuaW1hdGlvbnM6IFtjbWF0QW5pbWF0aW9uc10sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW01hdExpc3RNb2R1bGUsIE1hdEljb25Nb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0Q2FzY2FkZU1lbnVDb21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBPcHRpb25hbCgpIHB1YmxpYyByb290OiBDbWF0Q2FzY2FkZUxpc3RDb21wb25lbnQsXHJcbiAgICApIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIGluZGV4IHx8IGl0ZW07XHJcbiAgICB9XHJcbn1cclxuIiwiQGZvciAobWVudUl0ZW0gb2Ygcm9vdC5zdGVwczsgdHJhY2sgdHJhY2tCeUZuKHN0ZXAsIG1lbnVJdGVtKTsgbGV0IHN0ZXAgPSAkaW5kZXgpIHtcbiAgPG1hdC1saXN0IGNsYXNzPVwibWVudS1saXN0IG92ZXJmbG93LXktYXV0byBsZzpvdmVyZmxvdy15LWhpZGRlbiBsZzpob3ZlcjpvdmVyZmxvdy15LWF1dG8gc2Nyb2xsYmFyLWN1c3RvbVwiXG4gICAgPlxuICAgIEBmb3IgKGxpc3RJdGVtIG9mIG1lbnVJdGVtOyB0cmFjayB0cmFja0J5Rm4oaSwgbGlzdEl0ZW0pOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgPG1hdC1saXN0LWl0ZW0gY2xhc3M9XCJtZW51LWl0ZW1cIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImxpc3RJdGVtLmFjdGl2ZVwiIFtjbGFzcy5kaXNhYmxlZF09XCJsaXN0SXRlbS5kaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJyb290LnNlbGVjdEhhbmRsZSgkZXZlbnQsIHN0ZXAsIGkpO1wiPlxuICAgICAgICA8ZGl2IG1hdExpbmU+e3tsaXN0SXRlbS5sYWJlbH19PC9kaXY+XG4gICAgICAgIEBpZiAobGlzdEl0ZW0uY2hpbGRyZW4gJiYgbGlzdEl0ZW0uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaXRlbS1pY29uXCIgW3N2Z0ljb25dPVwiJ21hdF9vdXRsaW5lOmNoZXZyb25fcmlnaHQnXCJcbiAgICAgICAgICA+PC9tYXQtaWNvbj5cbiAgICAgICAgfVxuICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgIH1cbiAgPC9tYXQtbGlzdD5cbn0iXX0=
@@ -1,36 +1,48 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';
2
- import { FormControl, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
3
- import { BehaviorSubject, Subject, debounceTime, map, startWith, takeUntil } from 'rxjs';
1
+ /* eslint-disable @typescript-eslint/member-ordering */
2
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
3
  import { COMMA, ENTER } from '@angular/cdk/keycodes';
4
+ import { AsyncPipe } from '@angular/common';
5
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, Optional, Self, ViewChild, ViewEncapsulation } from '@angular/core';
6
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
5
7
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
6
8
  import { MatChipsModule } from '@angular/material/chips';
7
- import { isArray, isEmpty, isNil } from 'lodash-es';
8
- import { MatFormFieldModule } from '@angular/material/form-field';
9
- import { MatInputModule } from '@angular/material/input';
9
+ import { MatFormFieldControl } from '@angular/material/form-field';
10
10
  import { MatIconModule } from '@angular/material/icon';
11
- import { AsyncPipe } from '@angular/common';
11
+ import { MatInputModule } from '@angular/material/input';
12
+ import { isArray, isEmpty, isNil } from 'lodash-es';
13
+ import { BehaviorSubject, Subject, debounceTime, map, startWith, takeUntil } from 'rxjs';
12
14
  import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/material/form-field";
15
+ import * as i1 from "@angular/forms";
14
16
  import * as i2 from "@angular/material/chips";
15
17
  import * as i3 from "@angular/material/input";
16
18
  import * as i4 from "@angular/material/autocomplete";
17
19
  import * as i5 from "@angular/material/core";
18
20
  import * as i6 from "@angular/material/icon";
19
- import * as i7 from "@angular/forms";
21
+ let NEXT_ID = 0;
20
22
  export class CmatChipInputComponent {
21
- constructor() {
23
+ constructor(ngControl) {
24
+ this.ngControl = ngControl;
25
+ this.id = `cmat-chip-input-${NEXT_ID++}`;
22
26
  this.hasAutocomplete = false;
23
27
  this.outputIsString = false;
24
28
  this.separatorKey = ',';
25
- this.hasPrefixIcon = false;
26
- this.prefixIcon = 'heroicons_solid:pencil-square';
27
29
  this.inputControl = new FormControl();
28
30
  this.selectedOptions$ = new BehaviorSubject([]);
29
31
  this.separatorKeysCodes = [ENTER, COMMA];
32
+ this.stateChanges = new Subject();
33
+ this.focused = false;
34
+ this.touched = false;
35
+ this.controlType = 'cmat-chip-input';
30
36
  this._maxFilteredItems = 50;
31
37
  this._unsubscribeAll = new Subject();
38
+ this._placeholder = '';
39
+ this._required = false;
40
+ this._disabled = false;
32
41
  this._onModelChange = () => { };
33
42
  this._onTouchedChange = () => { };
43
+ if (this.ngControl != null) {
44
+ this.ngControl.valueAccessor = this;
45
+ }
34
46
  this.filteredOptions$ = this.inputControl.valueChanges.pipe(startWith(null), takeUntil(this._unsubscribeAll), debounceTime(100), map((value) => {
35
47
  if (this.hasAutocomplete) {
36
48
  const selectable = (value ? this._filter(value) : this.selectableOptions.slice());
@@ -41,9 +53,59 @@ export class CmatChipInputComponent {
41
53
  }));
42
54
  }
43
55
  ngOnDestroy() {
56
+ this.stateChanges.complete();
44
57
  this._unsubscribeAll.next(void 0);
45
58
  this._unsubscribeAll.complete();
46
59
  }
60
+ get placeholder() {
61
+ return this._placeholder;
62
+ }
63
+ set placeholder(value) {
64
+ this._placeholder = value;
65
+ this.stateChanges.next();
66
+ }
67
+ get value() {
68
+ return this._value;
69
+ }
70
+ set value(value) {
71
+ if (value !== this.value) {
72
+ this._value = value;
73
+ this.stateChanges.next();
74
+ this._onModelChange(value);
75
+ }
76
+ }
77
+ get empty() {
78
+ return !this._value;
79
+ }
80
+ get errorState() {
81
+ if (this.ngControl == null)
82
+ return false;
83
+ return (this.touched && this.ngControl?.invalid) ?? false;
84
+ }
85
+ get shouldLabelFloat() {
86
+ return this.focused || !this.empty;
87
+ }
88
+ get required() { return this._required; }
89
+ set required(value) {
90
+ this._required = coerceBooleanProperty(value);
91
+ this.stateChanges.next();
92
+ }
93
+ get disabled() {
94
+ if (this.ngControl && this.ngControl.disabled !== null) {
95
+ return this.ngControl.disabled;
96
+ }
97
+ return this._disabled;
98
+ }
99
+ set disabled(value) {
100
+ this._disabled = coerceBooleanProperty(value);
101
+ if (this._disabled || this.ngControl?.disabled) {
102
+ this.inputControl.disable();
103
+ }
104
+ if (this.focused) {
105
+ this.focused = false;
106
+ this.stateChanges.next();
107
+ }
108
+ }
47
109
  registerOnChange(fn) {
48
110
  this._onModelChange = fn;
49
111
  }
@@ -60,21 +122,42 @@ export class CmatChipInputComponent {
60
122
  this.selectedOptions$.next(value.split(this.separatorKey));
61
123
  }
62
124
  this.inputControl.setValue(null);
125
+ this.value = value;
126
+ }
127
+ setDisabledState(isDisabled) {
128
+ if (isDisabled) {
129
+ this.inputControl.disable();
130
+ }
131
+ }
132
+ setDescribedByIds(ids) {
133
+ if (ids.length) {
134
+ this._inputElementRef?.nativeElement.setAttribute('aria-describedby', ids.join(' '));
135
+ }
136
+ else {
137
+ this._inputElementRef?.nativeElement.removeAttribute('aria-describedby');
138
+ }
139
+ }
140
+ onContainerClick() {
141
+ if (!this.focused) {
142
+ this._inputElementRef.nativeElement.focus();
143
+ }
63
144
  }
64
145
  onAdd(event) {
65
146
  const value = (event.value || '').trim();
66
- if (value && (!this.hasAutocomplete || this.selectableOptions.includes(value))) {
67
- const newValue = isNil(this.selectedOptions$.value) ? [value] : [...this.selectedOptions$.value, value];
68
- this.selectedOptions$.next(newValue);
69
- if (this.outputIsString) {
70
- this._onModelChange(newValue.join(this.separatorKey));
71
- }
72
- else {
73
- this._onModelChange(newValue);
147
+ if (!this.autocompleteOptionActive) {
148
+ if (value && (!this.hasAutocomplete || this.selectableOptions.includes(value))) {
149
+ const newValue = isNil(this.selectedOptions$.value) ? [value] : [...this.selectedOptions$.value, value];
150
+ this.selectedOptions$.next(newValue);
151
+ if (this.outputIsString) {
152
+ this.value = newValue.join(this.separatorKey);
153
+ }
154
+ else {
155
+ this.value = newValue;
156
+ }
74
157
  }
158
+ event.chipInput.clear();
159
+ this.inputControl.setValue(null);
75
160
  }
76
- event.chipInput.clear();
77
- this.inputControl.setValue(null);
78
161
  }
79
162
  onRemove(option) {
80
163
  const index = this.selectedOptions$.value.indexOf(option);
@@ -84,10 +167,10 @@ export class CmatChipInputComponent {
84
167
  newOptions = newOptions.length > 0 ? newOptions : [];
85
168
  this.selectedOptions$.next(newOptions);
86
169
  if (this.outputIsString && !isNil(newOptions)) {
87
- this._onModelChange(newOptions.join(this.separatorKey));
170
+ this.value = newOptions.join(this.separatorKey);
88
171
  }
89
172
  else {
90
- this._onModelChange(newOptions);
173
+ this.value = newOptions;
91
174
  }
92
175
  this.inputControl.setValue(null);
93
176
  }
@@ -96,44 +179,60 @@ export class CmatChipInputComponent {
96
179
  const newValue = isNil(this.selectedOptions$.value) ? [event.option.viewValue] : [...this.selectedOptions$.value, event.option.viewValue];
97
180
  this.selectedOptions$.next(newValue);
98
181
  if (this.outputIsString) {
99
- this._onModelChange(newValue.join(this.separatorKey));
182
+ this.value = newValue.join(this.separatorKey);
100
183
  }
101
184
  else {
102
- this._onModelChange(newValue);
185
+ this.value = newValue;
103
186
  }
104
- this.inputElementRef.nativeElement.value = '';
105
187
  this.inputControl.setValue(null);
188
+ this.autocompleteOptionActive = false;
106
189
  }
107
190
  trackByFn(index) {
108
191
  return index;
109
192
  }
193
+ onFocusIn() {
194
+ if (!this.focused) {
195
+ this.focused = true;
196
+ this.stateChanges.next();
197
+ }
198
+ }
199
+ onFocusOut(event) {
200
+ if (!this._inputElementRef.nativeElement.contains(event.relatedTarget)) {
201
+ this.touched = true;
202
+ this.focused = false;
203
+ this._onTouchedChange();
204
+ this.stateChanges.next();
205
+ }
206
+ }
207
+ onActivated(event) {
208
+ this.autocompleteOptionActive = event.option != null ? true : false;
209
+ }
110
210
  _filter(value) {
111
211
  const filterValue = value.toLowerCase();
112
212
  return this.selectableOptions.filter(v => v.toLowerCase().includes(filterValue));
113
213
  }
114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatChipInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CmatChipInputComponent, isStandalone: true, selector: "cmat-chip-input", inputs: { label: "label", selectableOptions: "selectableOptions", hasAutocomplete: "hasAutocomplete", outputIsString: "outputIsString", separatorKey: "separatorKey", hasPrefixIcon: "hasPrefixIcon", prefixIcon: "prefixIcon" }, providers: [
116
- {
117
- provide: NG_VALUE_ACCESSOR,
118
- useExisting: forwardRef(() => CmatChipInputComponent),
119
- multi: true
120
- }
121
- ], viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["input"], descendants: true }], exportAs: ["cmatChipInput"], ngImport: i0, template: "<mat-form-field subscriptSizing=\"dynamic\" class=\"w-full\">\n <mat-label>{{label}}</mat-label>\n @if(hasPrefixIcon){\n <mat-icon matPrefix class=\"hidden sm:flex icon-size-5\" [svgIcon]=\"prefixIcon\">\n </mat-icon>\n }\n <mat-chip-grid #chipList class=\"items-center\">\n @for (option of selectedOptions$ | async; track trackByFn($index)) {\n <mat-chip-row selectable (removed)=\"onRemove(option)\">\n {{ option }}\n <button matChipRemove>\n <mat-icon class=\"icon-size-5\" [svgIcon]=\"'mat_solid:cancel'\"></mat-icon>\n </button>\n </mat-chip-row>\n }\n\n @if (hasAutocomplete) {\n <input #input matInput [formControl]=\"inputControl\" [placeholder]=\"'\u5F00\u59CB\u9009\u62E9...'\" [matAutocomplete]=\"autoComplete\"\n [matChipInputFor]=\"chipList\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n (matChipInputTokenEnd)=\"onAdd($event)\" />\n <mat-autocomplete #autoComplete=\"matAutocomplete\" (optionSelected)=\"onSelected($event)\">\n @for (option of filteredOptions$ | async; track trackByFn($index)) {\n <mat-option [value]=\"option\">\n {{ option }}\n </mat-option>\n }\n </mat-autocomplete>\n } @else {\n <input #input [formControl]=\"inputControl\" [placeholder]=\"'\u5F00\u59CB\u586B\u5199...'\" [matChipInputFor]=\"chipList\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"onAdd($event)\" />\n }\n </mat-chip-grid>\n\n</mat-form-field>", dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i2.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i2.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i2.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i2.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.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: MatAutocompleteModule }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
214
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatChipInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
215
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: CmatChipInputComponent, isStandalone: true, selector: "cmat-chip-input", inputs: { id: "id", selectableOptions: "selectableOptions", hasAutocomplete: "hasAutocomplete", outputIsString: "outputIsString", separatorKey: "separatorKey", placeholder: "placeholder", value: "value", required: "required", disabled: "disabled" }, host: { properties: { "attr.id": "this.id" } }, providers: [
216
+ { provide: MatFormFieldControl, useExisting: CmatChipInputComponent }
217
+ ], viewQueries: [{ propertyName: "_inputElementRef", first: true, predicate: ["input"], descendants: true }], exportAs: ["cmatChipInput"], ngImport: i0, template: "<mat-chip-grid #chipList class=\"items-center\" (focusin)=\"onFocusIn()\" (focusout)=\"onFocusOut($event)\">\n @for (option of selectedOptions$ | async; track trackByFn($index)) {\n <mat-chip-row selectable (removed)=\"onRemove(option)\">\n {{ option }}\n <button matChipRemove class=\"print:hidden\">\n <mat-icon class=\"icon-size-5\" [svgIcon]=\"'mat_solid:cancel'\"></mat-icon>\n </button>\n </mat-chip-row>\n }\n\n @if (hasAutocomplete) {\n <input #input matInput [formControl]=\"inputControl\" [placeholder]=\"'\u5F00\u59CB\u9009\u62E9...'\" [matAutocomplete]=\"autoComplete\"\n [required]='required' [matChipInputFor]=\"chipList\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" \n (matChipInputTokenEnd)=\"onAdd($event)\" />\n <mat-autocomplete #autoComplete=\"matAutocomplete\" (optionSelected)=\"onSelected($event)\" (optionActivated)=\"onActivated($event)\"\n >\n @for (option of filteredOptions$ | async; track trackByFn($index)) {\n <mat-option [value]=\"option\">\n {{ option }}\n </mat-option>\n }\n </mat-autocomplete>\n } @else {\n <input #input [formControl]=\"inputControl\" [placeholder]=\"'\u5F00\u59CB\u586B\u5199...'\" [matChipInputFor]=\"chipList\"\n [required]='required' [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"onAdd($event)\" />\n }\n</mat-chip-grid>", dependencies: [{ kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i2.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i2.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i2.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i2.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.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: MatAutocompleteModule }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
122
218
  }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatChipInputComponent, decorators: [{
219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatChipInputComponent, decorators: [{
124
220
  type: Component,
125
221
  args: [{ selector: 'cmat-chip-input', standalone: true, providers: [
126
- {
127
- provide: NG_VALUE_ACCESSOR,
128
- useExisting: forwardRef(() => CmatChipInputComponent),
129
- multi: true
130
- }
131
- ], exportAs: 'cmatChipInput', imports: [MatFormFieldModule, MatChipsModule, AsyncPipe, MatInputModule, MatAutocompleteModule, MatIconModule, FormsModule, ReactiveFormsModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field subscriptSizing=\"dynamic\" class=\"w-full\">\n <mat-label>{{label}}</mat-label>\n @if(hasPrefixIcon){\n <mat-icon matPrefix class=\"hidden sm:flex icon-size-5\" [svgIcon]=\"prefixIcon\">\n </mat-icon>\n }\n <mat-chip-grid #chipList class=\"items-center\">\n @for (option of selectedOptions$ | async; track trackByFn($index)) {\n <mat-chip-row selectable (removed)=\"onRemove(option)\">\n {{ option }}\n <button matChipRemove>\n <mat-icon class=\"icon-size-5\" [svgIcon]=\"'mat_solid:cancel'\"></mat-icon>\n </button>\n </mat-chip-row>\n }\n\n @if (hasAutocomplete) {\n <input #input matInput [formControl]=\"inputControl\" [placeholder]=\"'\u5F00\u59CB\u9009\u62E9...'\" [matAutocomplete]=\"autoComplete\"\n [matChipInputFor]=\"chipList\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n (matChipInputTokenEnd)=\"onAdd($event)\" />\n <mat-autocomplete #autoComplete=\"matAutocomplete\" (optionSelected)=\"onSelected($event)\">\n @for (option of filteredOptions$ | async; track trackByFn($index)) {\n <mat-option [value]=\"option\">\n {{ option }}\n </mat-option>\n }\n </mat-autocomplete>\n } @else {\n <input #input [formControl]=\"inputControl\" [placeholder]=\"'\u5F00\u59CB\u586B\u5199...'\" [matChipInputFor]=\"chipList\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"onAdd($event)\" />\n }\n </mat-chip-grid>\n\n</mat-form-field>" }]
132
- }], ctorParameters: () => [], propDecorators: { inputElementRef: [{
133
- type: ViewChild,
134
- args: ['input']
135
- }], label: [{
222
+ { provide: MatFormFieldControl, useExisting: CmatChipInputComponent }
223
+ ], exportAs: 'cmatChipInput', imports: [MatChipsModule, AsyncPipe, MatInputModule, MatAutocompleteModule, MatIconModule, ReactiveFormsModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-chip-grid #chipList class=\"items-center\" (focusin)=\"onFocusIn()\" (focusout)=\"onFocusOut($event)\">\n @for (option of selectedOptions$ | async; track trackByFn($index)) {\n <mat-chip-row selectable (removed)=\"onRemove(option)\">\n {{ option }}\n <button matChipRemove class=\"print:hidden\">\n <mat-icon class=\"icon-size-5\" [svgIcon]=\"'mat_solid:cancel'\"></mat-icon>\n </button>\n </mat-chip-row>\n }\n\n @if (hasAutocomplete) {\n <input #input matInput [formControl]=\"inputControl\" [placeholder]=\"'\u5F00\u59CB\u9009\u62E9...'\" [matAutocomplete]=\"autoComplete\"\n [required]='required' [matChipInputFor]=\"chipList\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" \n (matChipInputTokenEnd)=\"onAdd($event)\" />\n <mat-autocomplete #autoComplete=\"matAutocomplete\" (optionSelected)=\"onSelected($event)\" (optionActivated)=\"onActivated($event)\"\n >\n @for (option of filteredOptions$ | async; track trackByFn($index)) {\n <mat-option [value]=\"option\">\n {{ option }}\n </mat-option>\n }\n </mat-autocomplete>\n } @else {\n <input #input [formControl]=\"inputControl\" [placeholder]=\"'\u5F00\u59CB\u586B\u5199...'\" [matChipInputFor]=\"chipList\"\n [required]='required' [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"onAdd($event)\" />\n }\n</mat-chip-grid>" }]
224
+ }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
225
+ type: Optional
226
+ }, {
227
+ type: Self
228
+ }] }], propDecorators: { id: [{
229
+ type: HostBinding,
230
+ args: ['attr.id']
231
+ }, {
136
232
  type: Input
233
+ }], _inputElementRef: [{
234
+ type: ViewChild,
235
+ args: ['input', { static: false }]
137
236
  }], selectableOptions: [{
138
237
  type: Input
139
238
  }], hasAutocomplete: [{
@@ -142,9 +241,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
142
241
  type: Input
143
242
  }], separatorKey: [{
144
243
  type: Input
145
- }], hasPrefixIcon: [{
244
+ }], placeholder: [{
245
+ type: Input
246
+ }], value: [{
247
+ type: Input
248
+ }], required: [{
146
249
  type: Input
147
- }], prefixIcon: [{
250
+ }], disabled: [{
148
251
  type: Input
149
252
  }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvY2hpcC1pbnB1dC9jaGlwLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9jaGlwLWlucHV0L2NoaXAtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQXdCLFdBQVcsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4SCxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckcsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQWdDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckcsT0FBTyxFQUFxQixjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7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bUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07d0RBRzNCLGVBQWU7c0JBQWxDLFNBQVM7dUJBQUMsT0FBTztnQkFDVCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZGVib3VuY2VUaW1lLCBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENPTU1BLCBFTlRFUiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSwgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdENoaXBJbnB1dEV2ZW50LCBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNFbXB0eSwgaXNOaWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuXHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY21hdC1jaGlwLWlucHV0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGlwLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDbWF0Q2hpcElucHV0Q29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9XHJcbiAgICBdLFxyXG4gICAgZXhwb3J0QXM6ICdjbWF0Q2hpcElucHV0JyxcclxuICAgIGltcG9ydHM6IFtNYXRGb3JtRmllbGRNb2R1bGUsIE1hdENoaXBzTW9kdWxlLEFzeW5jUGlwZSwgTWF0SW5wdXRNb2R1bGUsIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0Q2hpcElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XHJcbiAgICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0RWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RhYmxlT3B0aW9uczogc3RyaW5nW107XHJcbiAgICBASW5wdXQoKSBoYXNBdXRvY29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIG91dHB1dElzU3RyaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBzZXBhcmF0b3JLZXk6IHN0cmluZyA9ICcsJztcclxuICAgIEBJbnB1dCgpIGhhc1ByZWZpeEljb246Ym9vbGVhbj1mYWxzZTtcclxuICAgIEBJbnB1dCgpIHByZWZpeEljb246c3RyaW5nPSdoZXJvaWNvbnNfc29saWQ6cGVuY2lsLXNxdWFyZSc7XHJcblxyXG4gICAgaW5wdXRDb250cm9sOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPiA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gICAgZmlsdGVyZWRPcHRpb25zJDogT2JzZXJ2YWJsZTxzdHJpbmdbXSB8IG51bGw+O1xyXG4gICAgc2VsZWN0ZWRPcHRpb25zJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oW10pO1xyXG4gICAgc2VwYXJhdG9yS2V5c0NvZGVzOiBudW1iZXJbXSA9IFtFTlRFUiwgQ09NTUFdO1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21heEZpbHRlcmVkSXRlbXMgPSA1MDtcclxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMkID0gdGhpcy5pbnB1dENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXHJcbiAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSxcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKSxcclxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksXHJcbiAgICAgICAgICAgIG1hcCgodmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhhc0F1dG9jb21wbGV0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGFibGUgPSAodmFsdWUgPyB0aGlzLl9maWx0ZXIodmFsdWUpIDogdGhpcy5zZWxlY3RhYmxlT3B0aW9ucy5zbGljZSgpKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBub3RTZWxlY3RlZCA9ICFpc05pbCh0aGlzLnNlbGVjdGVkT3B0aW9ucyQudmFsdWUpID8gc2VsZWN0YWJsZS5maWx0ZXIob3B0aW9uID0+ICF0aGlzLnNlbGVjdGVkT3B0aW9ucyQudmFsdWUuaW5jbHVkZXMob3B0aW9uKSkgOiBzZWxlY3RhYmxlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm90U2VsZWN0ZWQuc2xpY2UoMCwgdGhpcy5fbWF4RmlsdGVyZWRJdGVtcyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwubmV4dCh2b2lkIDApO1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25Nb2RlbENoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9vblRvdWNoZWRDaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAoaXNBcnJheSh2YWx1ZSkgfHwgaXNOaWwodmFsdWUpKVxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyQubmV4dCh2YWx1ZSk7XHJcbiAgICAgICAgZWxzZSBpZiAoaXNFbXB0eSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMkLm5leHQoW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMkLm5leHQoKHZhbHVlIGFzIHN0cmluZykuc3BsaXQodGhpcy5zZXBhcmF0b3JLZXkpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuaW5wdXRDb250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQWRkKGV2ZW50OiBNYXRDaGlwSW5wdXRFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnZhbHVlIHx8ICcnKS50cmltKCk7XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZSAmJiAoIXRoaXMuaGFzQXV0b2NvbXBsZXRlIHx8IHRoaXMuc2VsZWN0YWJsZU9wdGlvbnMuaW5jbHVkZXModmFsdWUpKSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGlzTmlsKHRoaXMuc2VsZWN0ZWRPcHRpb25zJC52YWx1ZSkgPyBbdmFsdWVdIDogWy4uLnRoaXMuc2VsZWN0ZWRPcHRpb25zJC52YWx1ZSwgdmFsdWVdO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyQubmV4dChuZXdWYWx1ZSk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5vdXRwdXRJc1N0cmluZykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fb25Nb2RlbENoYW5nZShuZXdWYWx1ZS5qb2luKHRoaXMuc2VwYXJhdG9yS2V5KSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9vbk1vZGVsQ2hhbmdlKG5ld1ZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZXZlbnQuY2hpcElucHV0IS5jbGVhcigpO1xyXG5cclxuICAgICAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRWYWx1ZShudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICBvblJlbW92ZShvcHRpb246IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLnNlbGVjdGVkT3B0aW9ucyQudmFsdWUuaW5kZXhPZihvcHRpb24pO1xyXG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgICAgIGxldCBuZXdPcHRpb25zID0gWy4uLnRoaXMuc2VsZWN0ZWRPcHRpb25zJC52YWx1ZV07XHJcbiAgICAgICAgICAgIG5ld09wdGlvbnMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgbmV3T3B0aW9ucyA9IG5ld09wdGlvbnMubGVuZ3RoID4gMCA/IG5ld09wdGlvbnMgOiBbXTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zJC5uZXh0KG5ld09wdGlvbnMpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMub3V0cHV0SXNTdHJpbmcgJiYgIWlzTmlsKG5ld09wdGlvbnMpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9vbk1vZGVsQ2hhbmdlKG5ld09wdGlvbnMuam9pbih0aGlzLnNlcGFyYXRvcktleSkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fb25Nb2RlbENoYW5nZShuZXdPcHRpb25zKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5pbnB1dENvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0ZWQoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGlzTmlsKHRoaXMuc2VsZWN0ZWRPcHRpb25zJC52YWx1ZSkgPyBbZXZlbnQub3B0aW9uLnZpZXdWYWx1ZV0gOiBbLi4udGhpcy5zZWxlY3RlZE9wdGlvbnMkLnZhbHVlLCBldmVudC5vcHRpb24udmlld1ZhbHVlXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyQubmV4dChuZXdWYWx1ZSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm91dHB1dElzU3RyaW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29uTW9kZWxDaGFuZ2UobmV3VmFsdWUuam9pbih0aGlzLnNlcGFyYXRvcktleSkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29uTW9kZWxDaGFuZ2UobmV3VmFsdWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgICAgIHRoaXMuaW5wdXRDb250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIHRyYWNrQnlGbihpbmRleDogbnVtYmVyKTogYW55IHtcclxuICAgICAgICByZXR1cm4gaW5kZXg7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfb25Nb2RlbENoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7IH07XHJcbiAgICBwcml2YXRlIF9vblRvdWNoZWRDaGFuZ2U6ICgpID0+IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgICBwcml2YXRlIF9maWx0ZXIodmFsdWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuICAgICAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGFibGVPcHRpb25zLmZpbHRlcih2ID0+IHYudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSkpO1xyXG4gICAgfVxyXG59IiwiPG1hdC1mb3JtLWZpZWxkIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cInctZnVsbFwiPlxuICA8bWF0LWxhYmVsPnt7bGFiZWx9fTwvbWF0LWxhYmVsPlxuICBAaWYoaGFzUHJlZml4SWNvbil7XG4gIDxtYXQtaWNvbiBtYXRQcmVmaXggY2xhc3M9XCJoaWRkZW4gc206ZmxleCBpY29uLXNpemUtNVwiIFtzdmdJY29uXT1cInByZWZpeEljb25cIj5cbiAgPC9tYXQtaWNvbj5cbiAgfVxuICA8bWF0LWNoaXAtZ3JpZCAjY2hpcExpc3QgY2xhc3M9XCJpdGVtcy1jZW50ZXJcIj5cbiAgICBAZm9yIChvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zJCB8IGFzeW5jOyB0cmFjayB0cmFja0J5Rm4oJGluZGV4KSkge1xuICAgIDxtYXQtY2hpcC1yb3cgc2VsZWN0YWJsZSAocmVtb3ZlZCk9XCJvblJlbW92ZShvcHRpb24pXCI+XG4gICAgICB7eyBvcHRpb24gfX1cbiAgICAgIDxidXR0b24gbWF0Q2hpcFJlbW92ZT5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1zaXplLTVcIiBbc3ZnSWNvbl09XCInbWF0X3NvbGlkOmNhbmNlbCdcIj48L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtY2hpcC1yb3c+XG4gICAgfVxuXG4gICAgQGlmIChoYXNBdXRvY29tcGxldGUpIHtcbiAgICA8aW5wdXQgI2lucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJpbnB1dENvbnRyb2xcIiBbcGxhY2Vob2xkZXJdPVwiJ+W8gOWni+mAieaLqS4uLidcIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZVwiXG4gICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBMaXN0XCIgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cInNlcGFyYXRvcktleXNDb2Rlc1wiXG4gICAgICAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwib25BZGQoJGV2ZW50KVwiIC8+XG4gICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG9Db21wbGV0ZT1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJvblNlbGVjdGVkKCRldmVudClcIj5cbiAgICAgIEBmb3IgKG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMkIHwgYXN5bmM7IHRyYWNrIHRyYWNrQnlGbigkaW5kZXgpKSB7XG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICAgIHt7IG9wdGlvbiB9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgfVxuICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICB9IEBlbHNlIHtcbiAgICA8aW5wdXQgI2lucHV0IFtmb3JtQ29udHJvbF09XCJpbnB1dENvbnRyb2xcIiBbcGxhY2Vob2xkZXJdPVwiJ+W8gOWni+Whq+WGmS4uLidcIiBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBMaXN0XCJcbiAgICAgIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJzZXBhcmF0b3JLZXlzQ29kZXNcIiAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwib25BZGQoJGV2ZW50KVwiIC8+XG4gICAgfVxuICA8L21hdC1jaGlwLWdyaWQ+XG5cbjwvbWF0LWZvcm0tZmllbGQ+Il19
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvY2hpcC1pbnB1dC9jaGlwLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9jaGlwLWlucHV0L2NoaXAtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxLQUFLLEVBQWEsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUosT0FBTyxFQUF3QixXQUFXLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRyxPQUFPLEVBQWlDLHFCQUFxQixFQUFnQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BJLE9BQU8sRUFBcUIsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsWUFB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QUNoRyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkEyQmxDLFFBQVE7OzBCQUFJLElBQUk7eUNBdEJ0QixFQUFFO3NCQUZSLFdBQVc7dUJBQUMsU0FBUzs7c0JBQ3JCLEtBQUs7Z0JBR3lDLGdCQUFnQjtzQkFBOUQsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUM1QixpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBNkNGLFdBQVc7c0JBRGQsS0FBSztnQkFXRixLQUFLO3NCQURSLEtBQUs7Z0JBK0JGLFFBQVE7c0JBRFgsS0FBSztnQkFTRixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nICovXHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgQ09NTUEsIEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBTZWxmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTmdDb250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVBY3RpdmF0ZWRFdmVudCwgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLCBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgTWF0Q2hpcElucHV0RXZlbnQsIE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IGlzQXJyYXksIGlzRW1wdHksIGlzTmlsIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIG1hcCwgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuXHJcbmxldCBORVhUX0lEID0gMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjbWF0LWNoaXAtaW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoaXAtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IENtYXRDaGlwSW5wdXRDb21wb25lbnQgfSAgICAgICAgXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0QXM6ICdjbWF0Q2hpcElucHV0JyxcclxuICAgIGltcG9ydHM6IFtNYXRDaGlwc01vZHVsZSwgQXN5bmNQaXBlLCBNYXRJbnB1dE1vZHVsZSwgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdENoaXBJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE1hdEZvcm1GaWVsZENvbnRyb2w8YW55PiwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XHJcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpZCA9IGBjbWF0LWNoaXAtaW5wdXQtJHtORVhUX0lEKyt9YDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwcml2YXRlIF9pbnB1dEVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgICBASW5wdXQoKSBzZWxlY3RhYmxlT3B0aW9uczogc3RyaW5nW107XHJcbiAgICBASW5wdXQoKSBoYXNBdXRvY29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIG91dHB1dElzU3RyaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBzZXBhcmF0b3JLZXk6IHN0cmluZyA9ICcsJztcclxuXHJcbiAgICBpbnB1dENvbnRyb2w6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+ID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgICBmaWx0ZXJlZE9wdGlvbnMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdIHwgbnVsbD47XHJcbiAgICBzZWxlY3RlZE9wdGlvbnMkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihbXSk7XHJcbiAgICBzZXBhcmF0b3JLZXlzQ29kZXM6IG51bWJlcltdID0gW0VOVEVSLCBDT01NQV07XHJcblxyXG4gICAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIGZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHRvdWNoZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGNvbnRyb2xUeXBlOiBzdHJpbmcgPSAnY21hdC1jaGlwLWlucHV0JztcclxuICAgIGF1dG9jb21wbGV0ZU9wdGlvbkFjdGl2ZTogYm9vbGVhbjtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tYXhGaWx0ZXJlZEl0ZW1zID0gNTA7XHJcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUFsbDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyQgPSB0aGlzLmlucHV0Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpLFxyXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcclxuICAgICAgICAgICAgbWFwKCh2YWx1ZTogc3RyaW5nIHwgbnVsbCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzQXV0b2NvbXBsZXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0YWJsZSA9ICh2YWx1ZSA/IHRoaXMuX2ZpbHRlcih2YWx1ZSkgOiB0aGlzLnNlbGVjdGFibGVPcHRpb25zLnNsaWNlKCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vdFNlbGVjdGVkID0gIWlzTmlsKHRoaXMuc2VsZWN0ZWRPcHRpb25zJC52YWx1ZSkgPyBzZWxlY3RhYmxlLmZpbHRlcihvcHRpb24gPT4gIXRoaXMuc2VsZWN0ZWRPcHRpb25zJC52YWx1ZS5pbmNsdWRlcyhvcHRpb24pKSA6IHNlbGVjdGFibGU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub3RTZWxlY3RlZC5zbGljZSgwLCB0aGlzLl9tYXhGaWx0ZXJlZEl0ZW1zKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLm5leHQodm9pZCAwKTtcclxuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7XHJcbiAgICB9XHJcbiAgICBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgICB9XHJcbiAgICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fb25Nb2RlbENoYW5nZSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF92YWx1ZTogYW55O1xyXG5cclxuICAgIGdldCBlbXB0eSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gIXRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBlcnJvclN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCA9PSBudWxsKVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICAgIHJldHVybiAodGhpcy50b3VjaGVkICYmIHRoaXMubmdDb250cm9sPy5pbnZhbGlkKSA/PyBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2VkIHx8ICF0aGlzLmVtcHR5O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9yZXF1aXJlZDsgfVxyXG4gICAgc2V0IHJlcXVpcmVkKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9yZXF1aXJlZCA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sICYmIHRoaXMubmdDb250cm9sLmRpc2FibGVkICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xyXG4gICAgfVxyXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9kaXNhYmxlZCB8fCB0aGlzLm5nQ29udHJvbD8uZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnB1dENvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5mb2N1c2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX29uTW9kZWxDaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGlzQXJyYXkodmFsdWUpIHx8IGlzTmlsKHZhbHVlKSlcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMkLm5leHQodmFsdWUpO1xyXG4gICAgICAgIGVsc2UgaWYgKGlzRW1wdHkodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zJC5uZXh0KFtdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zJC5uZXh0KCh2YWx1ZSBhcyBzdHJpbmcpLnNwbGl0KHRoaXMuc2VwYXJhdG9yS2V5KSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmlucHV0Q29udHJvbC5zZXRWYWx1ZShudWxsKTtcclxuXHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIGlmIChpc0Rpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5wdXRDb250cm9sLmRpc2FibGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChpZHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2lucHV0RWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknLCBpZHMuam9pbignICcpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9pbnB1dEVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWRlc2NyaWJlZGJ5Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQ29udGFpbmVyQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmZvY3VzZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5faW5wdXRFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25BZGQoZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudmFsdWUgfHwgJycpLnRyaW0oKTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmF1dG9jb21wbGV0ZU9wdGlvbkFjdGl2ZSkge1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgJiYgKCF0aGlzLmhhc0F1dG9jb21wbGV0ZSB8fCB0aGlzLnNlbGVjdGFibGVPcHRpb25zLmluY2x1ZGVzKHZhbHVlKSkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gaXNOaWwodGhpcy5zZWxlY3RlZE9wdGlvbnMkLnZhbHVlKSA/IFt2YWx1ZV0gOiBbLi4udGhpcy5zZWxlY3RlZE9wdGlvbnMkLnZhbHVlLCB2YWx1ZV07XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyQubmV4dChuZXdWYWx1ZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3V0cHV0SXNTdHJpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWUuam9pbih0aGlzLnNlcGFyYXRvcktleSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZXZlbnQuY2hpcElucHV0IS5jbGVhcigpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5pbnB1dENvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uUmVtb3ZlKG9wdGlvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuc2VsZWN0ZWRPcHRpb25zJC52YWx1ZS5pbmRleE9mKG9wdGlvbik7XHJcbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgICAgICAgbGV0IG5ld09wdGlvbnMgPSBbLi4udGhpcy5zZWxlY3RlZE9wdGlvbnMkLnZhbHVlXTtcclxuICAgICAgICAgICAgbmV3T3B0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgICBuZXdPcHRpb25zID0gbmV3T3B0aW9ucy5sZW5ndGggPiAwID8gbmV3T3B0aW9ucyA6IFtdO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMkLm5leHQobmV3T3B0aW9ucyk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5vdXRwdXRJc1N0cmluZyAmJiAhaXNOaWwobmV3T3B0aW9ucykpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXdPcHRpb25zLmpvaW4odGhpcy5zZXBhcmF0b3JLZXkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ld09wdGlvbnM7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuaW5wdXRDb250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvblNlbGVjdGVkKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBpc05pbCh0aGlzLnNlbGVjdGVkT3B0aW9ucyQudmFsdWUpID8gW2V2ZW50Lm9wdGlvbi52aWV3VmFsdWVdIDogWy4uLnRoaXMuc2VsZWN0ZWRPcHRpb25zJC52YWx1ZSwgZXZlbnQub3B0aW9uLnZpZXdWYWx1ZV07XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMkLm5leHQobmV3VmFsdWUpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5vdXRwdXRJc1N0cmluZykge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWUuam9pbih0aGlzLnNlcGFyYXRvcktleSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5pbnB1dENvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVPcHRpb25BY3RpdmUgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlcik6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIGluZGV4O1xyXG4gICAgfVxyXG5cclxuICAgIG9uRm9jdXNJbigpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuZm9jdXNlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uRm9jdXNPdXQoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2lucHV0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgRWxlbWVudCkpIHtcclxuICAgICAgICAgICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuX29uVG91Y2hlZENoYW5nZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQWN0aXZhdGVkKGV2ZW50OiBNYXRBdXRvY29tcGxldGVBY3RpdmF0ZWRFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlT3B0aW9uQWN0aXZlID0gZXZlbnQub3B0aW9uICE9IG51bGwgPyB0cnVlIDogZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfb25Nb2RlbENoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7IH07XHJcbiAgICBwcml2YXRlIF9vblRvdWNoZWRDaGFuZ2U6ICgpID0+IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgICBwcml2YXRlIF9maWx0ZXIodmFsdWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuICAgICAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGFibGVPcHRpb25zLmZpbHRlcih2ID0+IHYudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSkpO1xyXG4gICAgfVxyXG59IiwiPG1hdC1jaGlwLWdyaWQgI2NoaXBMaXN0IGNsYXNzPVwiaXRlbXMtY2VudGVyXCIgKGZvY3VzaW4pPVwib25Gb2N1c0luKClcIiAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgkZXZlbnQpXCI+XG4gIEBmb3IgKG9wdGlvbiBvZiBzZWxlY3RlZE9wdGlvbnMkIHwgYXN5bmM7IHRyYWNrIHRyYWNrQnlGbigkaW5kZXgpKSB7XG4gIDxtYXQtY2hpcC1yb3cgc2VsZWN0YWJsZSAocmVtb3ZlZCk9XCJvblJlbW92ZShvcHRpb24pXCI+XG4gICAge3sgb3B0aW9uIH19XG4gICAgPGJ1dHRvbiBtYXRDaGlwUmVtb3ZlIGNsYXNzPVwicHJpbnQ6aGlkZGVuXCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uLXNpemUtNVwiIFtzdmdJY29uXT1cIidtYXRfc29saWQ6Y2FuY2VsJ1wiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LWNoaXAtcm93PlxuICB9XG5cbiAgQGlmIChoYXNBdXRvY29tcGxldGUpIHtcbiAgPGlucHV0ICNpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiaW5wdXRDb250cm9sXCIgW3BsYWNlaG9sZGVyXT1cIiflvIDlp4vpgInmi6kuLi4nXCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvQ29tcGxldGVcIlxuICAgIFtyZXF1aXJlZF09J3JlcXVpcmVkJyBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBMaXN0XCIgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cInNlcGFyYXRvcktleXNDb2Rlc1wiIFxuICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJvbkFkZCgkZXZlbnQpXCIgLz5cbiAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG9Db21wbGV0ZT1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJvblNlbGVjdGVkKCRldmVudClcIiAob3B0aW9uQWN0aXZhdGVkKT1cIm9uQWN0aXZhdGVkKCRldmVudClcIlxuICAgPlxuICAgIEBmb3IgKG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnMkIHwgYXN5bmM7IHRyYWNrIHRyYWNrQnlGbigkaW5kZXgpKSB7XG4gICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAge3sgb3B0aW9uIH19XG4gICAgPC9tYXQtb3B0aW9uPlxuICAgIH1cbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICB9IEBlbHNlIHtcbiAgPGlucHV0ICNpbnB1dCBbZm9ybUNvbnRyb2xdPVwiaW5wdXRDb250cm9sXCIgW3BsYWNlaG9sZGVyXT1cIiflvIDlp4vloavlhpkuLi4nXCIgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwTGlzdFwiXG4gICAgW3JlcXVpcmVkXT0ncmVxdWlyZWQnIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJzZXBhcmF0b3JLZXlzQ29kZXNcIiAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwib25BZGQoJGV2ZW50KVwiIC8+XG4gIH1cbjwvbWF0LWNoaXAtZ3JpZD4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21hdC1jb21wb25lbnRzLWN1c3RvbS1mb3JtbHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvY3VzdG9tLWZvcm1seS9jbWF0LWNvbXBvbmVudHMtY3VzdG9tLWZvcm1seS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,13 @@
1
+ import { isNil } from 'lodash-es';
2
+ export function addonsExtension(field) {
3
+ if (!field.props || (field.wrappers && field.wrappers.indexOf('addons') !== -1)) {
4
+ return;
5
+ }
6
+ if ((field.props.addonLeft && ((!isNil(field.props.addonLeft.icon) && field.props.addonLeft.icon !== '')
7
+ || (!isNil(field.props.addonLeft.text)) && field.props.addonLeft.text !== ''))
8
+ || (field.props.addonRight && ((!isNil(field.props.addonRight.icon) && field.props.addonRight.icon !== '')
9
+ || (!isNil(field.props.addonRight.text)) && field.props.addonRight.text !== ''))) {
10
+ field.wrappers = [...(field.wrappers || []), 'addons'];
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb25zLmV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9jdXN0b20tZm9ybWx5L2V4dGVuc2lvbi9hZGRvbnMuZXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFbEMsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUF3QjtJQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUM3RSxPQUFPO0tBQ1Y7SUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7V0FDakcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztXQUMzRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO2VBQ25HLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRTtRQUN0RixLQUFLLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7S0FDMUQ7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcclxuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZG9uc0V4dGVuc2lvbihmaWVsZDogRm9ybWx5RmllbGRDb25maWcpOiB2b2lkIHtcclxuICAgIGlmICghZmllbGQucHJvcHMgfHwgKGZpZWxkLndyYXBwZXJzICYmIGZpZWxkLndyYXBwZXJzLmluZGV4T2YoJ2FkZG9ucycpICE9PSAtMSkpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKChmaWVsZC5wcm9wcy5hZGRvbkxlZnQgJiYgKCghaXNOaWwoZmllbGQucHJvcHMuYWRkb25MZWZ0Lmljb24pICYmIGZpZWxkLnByb3BzLmFkZG9uTGVmdC5pY29uICE9PSAnJylcclxuICAgICAgICB8fCAoIWlzTmlsKGZpZWxkLnByb3BzLmFkZG9uTGVmdC50ZXh0KSkgJiYgZmllbGQucHJvcHMuYWRkb25MZWZ0LnRleHQgIT09ICcnKSlcclxuICAgICAgICB8fCAoZmllbGQucHJvcHMuYWRkb25SaWdodCAmJiAoKCFpc05pbChmaWVsZC5wcm9wcy5hZGRvblJpZ2h0Lmljb24pICYmIGZpZWxkLnByb3BzLmFkZG9uUmlnaHQuaWNvbiAhPT0gJycpXHJcbiAgICAgICAgICAgIHx8ICghaXNOaWwoZmllbGQucHJvcHMuYWRkb25SaWdodC50ZXh0KSkgJiYgZmllbGQucHJvcHMuYWRkb25SaWdodC50ZXh0ICE9PSAnJykpKSB7XHJcbiAgICAgICAgZmllbGQud3JhcHBlcnMgPSBbLi4uKGZpZWxkLndyYXBwZXJzIHx8IFtdKSwgJ2FkZG9ucyddO1xyXG4gICAgfVxyXG59Il19
@@ -0,0 +1,27 @@
1
+ export * from './extension/addons.extension';
2
+ export * from './wrappers/addons/addons.component';
3
+ export * from './wrappers/card/card.component';
4
+ export * from './wrappers/expansion/expansion.component';
5
+ export * from './wrappers/panel/panel.component';
6
+ export * from './types/button/button.component';
7
+ export * from './types/cascade/cascade.component';
8
+ export * from './types/checklist/checklist.component';
9
+ export * from './types/chips/chips.component';
10
+ export * from './types/color-picker/color-picker.component';
11
+ export * from './types/date-range/date-range.component';
12
+ export * from './types/datepicker/datepicker.component';
13
+ export * from './types/multicheckbox/multicheckbox.component';
14
+ export * from './types/number/number.component';
15
+ export * from './types/rating/rating.component';
16
+ export * from './types/radio/radio.component';
17
+ export * from './types/repeat/repeat.component';
18
+ export * from './types/select/select.component';
19
+ export * from './types/select-tree/select-tree.component';
20
+ export * from './types/stepper/horizontal/stepper.component';
21
+ export * from './types/stepper/vertical/stepper.component';
22
+ export * from './types/table/table.component';
23
+ export * from './types/tabs/tab.component';
24
+ export * from './types/tags/tags.component';
25
+ export * from './types/textarea/textarea.component';
26
+ export * from './types/upload/upload.component';
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9jdXN0b20tZm9ybWx5L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9leHRlbnNpb24vYWRkb25zLmV4dGVuc2lvbic7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3dyYXBwZXJzL2FkZG9ucy9hZGRvbnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi93cmFwcGVycy9jYXJkL2NhcmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi93cmFwcGVycy9leHBhbnNpb24vZXhwYW5zaW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vd3JhcHBlcnMvcGFuZWwvcGFuZWwuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2Nhc2NhZGUvY2FzY2FkZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2NoZWNrbGlzdC9jaGVja2xpc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9kYXRlLXJhbmdlL2RhdGUtcmFuZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9tdWx0aWNoZWNrYm94L211bHRpY2hlY2tib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9udW1iZXIvbnVtYmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvcmF0aW5nL3JhdGluZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvcmVwZWF0L3JlcGVhdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9zZWxlY3QtdHJlZS9zZWxlY3QtdHJlZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL3N0ZXBwZXIvaG9yaXpvbnRhbC9zdGVwcGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvc3RlcHBlci92ZXJ0aWNhbC9zdGVwcGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvdGFibGUvdGFibGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90eXBlcy90YWJzL3RhYi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL3RhZ3MvdGFncy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvdXBsb2FkL3VwbG9hZC5jb21wb25lbnQnO1xyXG5cclxuXHJcbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { MatButtonModule } from '@angular/material/button';
3
+ import { FieldType } from '@ngx-formly/material/form-field';
4
+ import { isString } from 'lodash-es';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/button";
7
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
8
+ const evilFn = (fn) => {
9
+ const fnc = Function;
10
+ return new fnc(`return ${fn}`)();
11
+ };
12
+ export class CmatButtonTypeComponent extends FieldType {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.defaultOptions = {
16
+ props: {
17
+ color: 'primary'
18
+ }
19
+ };
20
+ }
21
+ onClick($event) {
22
+ if (this.props.onClick) {
23
+ if (isString(this.props.onClick)) {
24
+ const func = evilFn(this.props.onClick);
25
+ func();
26
+ }
27
+ else {
28
+ this.props.onClick($event);
29
+ }
30
+ }
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatButtonTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: CmatButtonTypeComponent, isStandalone: true, selector: "cmat-button-type", usesInheritance: true, ngImport: i0, template: "<button class=\"print:hidden\" mat-raised-button [type]=\"props.type\" [color]=\"props.color\" [disabled]=\"disabled\" (click)=\"onClick($event)\">\r\n {{ to.label }}\r\n</button>", dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CmatButtonTypeComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'cmat-button-type', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatButtonModule], template: "<button class=\"print:hidden\" mat-raised-button [type]=\"props.type\" [color]=\"props.color\" [disabled]=\"disabled\" (click)=\"onClick($event)\">\r\n {{ to.label }}\r\n</button>" }]
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9jdXN0b20tZm9ybWx5L3R5cGVzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2N1c3RvbS1mb3JtbHkvdHlwZXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsU0FBUyxFQUFvQixNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUVyQyw0RUFBNEU7QUFDNUUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRTtJQUM1QixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUM7SUFDckIsT0FBTyxJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFjRixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsU0FBdUM7SUFQcEY7O1FBUVcsbUJBQWMsR0FBRztZQUN4QixLQUFLLEVBQUU7Z0JBQ0wsS0FBSyxFQUFFLFNBQWtCO2FBQzFCO1NBQ0YsQ0FBQztLQWFIO0lBWEMsT0FBTyxDQUFDLE1BQWE7UUFDbkIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUN0QixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNoQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxFQUFFLENBQUM7YUFDUjtpQkFDSTtnQkFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM1QjtTQUNGO0lBQ0gsQ0FBQzs4R0FqQlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsbUdDeEJwQyx3TEFFUywyQ0RvQkcsZUFBZTs7MkZBRWQsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLGtCQUFrQixtQkFFWCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcblxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LWZ1bmN0aW9uLXJldHVybi10eXBlXHJcbmNvbnN0IGV2aWxGbiA9IChmbjogc3RyaW5nKSA9PiB7XHJcbiAgY29uc3QgZm5jID0gRnVuY3Rpb247XHJcbiAgcmV0dXJuIG5ldyBmbmMoYHJldHVybiAke2ZufWApKCk7XHJcbn07XHJcblxyXG5pbnRlcmZhY2UgQnV0dG9uUHJvcHMgZXh0ZW5kcyBGb3JtbHlGaWVsZFByb3BzIHtcclxuICBjb2xvcj86ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nO1xyXG4gIG9uQ2xpY2s/OiBhbnk7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY21hdC1idXR0b24tdHlwZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTWF0QnV0dG9uTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdEJ1dHRvblR5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPEJ1dHRvblByb3BzPj4ge1xyXG4gIG92ZXJyaWRlIGRlZmF1bHRPcHRpb25zID0ge1xyXG4gICAgcHJvcHM6IHtcclxuICAgICAgY29sb3I6ICdwcmltYXJ5JyBhcyBjb25zdFxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIG9uQ2xpY2soJGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucHJvcHMub25DbGljaykge1xyXG4gICAgICBpZiAoaXNTdHJpbmcodGhpcy5wcm9wcy5vbkNsaWNrKSkge1xyXG4gICAgICAgIGNvbnN0IGZ1bmMgPSBldmlsRm4odGhpcy5wcm9wcy5vbkNsaWNrKTtcclxuICAgICAgICBmdW5jKCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wcm9wcy5vbkNsaWNrKCRldmVudCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCI8YnV0dG9uIGNsYXNzPVwicHJpbnQ6aGlkZGVuXCIgbWF0LXJhaXNlZC1idXR0b24gW3R5cGVdPVwicHJvcHMudHlwZVwiIFtjb2xvcl09XCJwcm9wcy5jb2xvclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIj5cclxuICAgIHt7IHRvLmxhYmVsIH19XHJcbjwvYnV0dG9uPiJdfQ==