cmat 0.0.16 → 0.0.18

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 (498) hide show
  1. package/components/carousel/carousel.component.d.ts +136 -0
  2. package/components/carousel/carousel.interface.d.ts +38 -0
  3. package/components/carousel/index.d.ts +5 -0
  4. package/components/carousel/public-api.d.ts +2 -0
  5. package/components/custom-formly/public-api.d.ts +1 -0
  6. package/components/custom-formly/types/knob/knob.component.d.ts +36 -0
  7. package/components/custom-formly/types/table/table.component.d.ts +3 -8
  8. package/components/custom-formly/wrappers/form-field/form-field.component.d.ts +4 -4
  9. package/components/image-viewer/image-viewer.component.d.ts +76 -0
  10. package/components/image-viewer/index.d.ts +5 -0
  11. package/components/image-viewer/public-api.d.ts +1 -0
  12. package/components/knob-input/index.d.ts +5 -0
  13. package/components/knob-input/knob-input.component.d.ts +95 -0
  14. package/components/knob-input/public-api.d.ts +1 -0
  15. package/components/material-datetimepicker/datetimepicker-input.d.ts +2 -2
  16. package/components/opt-input/index.d.ts +5 -0
  17. package/components/opt-input/models/config.d.ts +14 -0
  18. package/components/opt-input/otp-input.component.d.ts +70 -0
  19. package/components/opt-input/public-api.d.ts +1 -0
  20. package/components/opt-input/utils/keyboard-util.d.ts +9 -0
  21. package/components/opt-input/utils/object-util.d.ts +3 -0
  22. package/components/org-chart/designer/chart-designer.component.d.ts +17 -0
  23. package/components/org-chart/index.d.ts +5 -0
  24. package/components/org-chart/node/chart-node.component.d.ts +17 -0
  25. package/components/org-chart/node/node.type.d.ts +22 -0
  26. package/components/org-chart/org-chart.component.d.ts +12 -0
  27. package/components/org-chart/public-api.d.ts +2 -0
  28. package/components/popover/popover.interfaces.d.ts +1 -1
  29. package/components/select-search/select-search.component.d.ts +2 -1
  30. package/components/select-table/index.d.ts +5 -0
  31. package/components/select-table/public-api.d.ts +2 -0
  32. package/components/select-table/select-table.component.d.ts +96 -0
  33. package/components/select-table/select-table.type.d.ts +20 -0
  34. package/components/select-tree/select-tree.component.d.ts +11 -12
  35. package/components/speed-dial/index.d.ts +5 -0
  36. package/components/speed-dial/public-api.d.ts +2 -0
  37. package/components/speed-dial/speed-dial.component.d.ts +63 -0
  38. package/components/transfer-picker/interface.d.ts +0 -1
  39. package/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.d.ts +8 -6
  40. package/components/treetable/index.d.ts +5 -0
  41. package/components/treetable/public-api.d.ts +2 -0
  42. package/components/treetable/treetable.component.d.ts +32 -0
  43. package/components/treetable/treetable.interface.d.ts +9 -0
  44. package/directives/animate-on-scroll/animate-on-scroll.directive.d.ts +4 -4
  45. package/directives/arrow-cursor/arrow-cursor.directive.d.ts +31 -0
  46. package/directives/arrow-cursor/index.d.ts +5 -0
  47. package/directives/arrow-cursor/public-api.d.ts +1 -0
  48. package/directives/data-exporter/constants.d.ts +26 -0
  49. package/directives/data-exporter/data-exporter.directive.d.ts +18 -0
  50. package/directives/data-exporter/index.d.ts +5 -0
  51. package/directives/data-exporter/mime.d.ts +5 -0
  52. package/directives/data-exporter/options.d.ts +21 -0
  53. package/directives/data-exporter/public-api.d.ts +2 -0
  54. package/directives/data-exporter/services/exporters/csv-exporter.service.d.ts +12 -0
  55. package/directives/data-exporter/services/exporters/exporter.d.ts +4 -0
  56. package/directives/data-exporter/services/exporters/file-exporter.d.ts +8 -0
  57. package/directives/data-exporter/services/exporters/json-exporter.service.d.ts +11 -0
  58. package/directives/data-exporter/services/exporters/txt-exporter.service.d.ts +12 -0
  59. package/directives/data-exporter/services/exporters/worksheet-exporter.d.ts +10 -0
  60. package/directives/data-exporter/services/exporters/xls-exporter.service.d.ts +14 -0
  61. package/directives/data-exporter/services/exporters/xlsx-exporter.service.d.ts +9 -0
  62. package/directives/data-exporter/services/file-util.d.ts +8 -0
  63. package/directives/data-exporter/services/service-locator.service.d.ts +11 -0
  64. package/directives/debounce/abstract-debounce.directive.d.ts +1 -1
  65. package/fesm2022/cmat-animations.mjs.map +1 -1
  66. package/fesm2022/cmat-components-adapter.mjs +9 -9
  67. package/fesm2022/cmat-components-adapter.mjs.map +1 -1
  68. package/fesm2022/cmat-components-breadcrumb.mjs +10 -10
  69. package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
  70. package/fesm2022/cmat-components-card.mjs +4 -4
  71. package/fesm2022/cmat-components-card.mjs.map +1 -1
  72. package/fesm2022/cmat-components-carousel.mjs +711 -0
  73. package/fesm2022/cmat-components-carousel.mjs.map +1 -0
  74. package/fesm2022/cmat-components-cascade.mjs +12 -12
  75. package/fesm2022/cmat-components-cascade.mjs.map +1 -1
  76. package/fesm2022/cmat-components-chip-input.mjs +5 -5
  77. package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
  78. package/fesm2022/cmat-components-custom-formly.mjs +168 -155
  79. package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
  80. package/fesm2022/cmat-components-date-range.mjs +5 -5
  81. package/fesm2022/cmat-components-date-range.mjs.map +1 -1
  82. package/fesm2022/cmat-components-drawer.mjs +6 -6
  83. package/fesm2022/cmat-components-drawer.mjs.map +1 -1
  84. package/fesm2022/cmat-components-fullscreen.mjs +4 -4
  85. package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
  86. package/fesm2022/cmat-components-highlight.mjs +7 -7
  87. package/fesm2022/cmat-components-highlight.mjs.map +1 -1
  88. package/fesm2022/cmat-components-image-viewer.mjs +227 -0
  89. package/fesm2022/cmat-components-image-viewer.mjs.map +1 -0
  90. package/fesm2022/cmat-components-json-editor.mjs +4 -4
  91. package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
  92. package/fesm2022/cmat-components-knob-input.mjs +404 -0
  93. package/fesm2022/cmat-components-knob-input.mjs.map +1 -0
  94. package/fesm2022/cmat-components-masonry.mjs +4 -4
  95. package/fesm2022/cmat-components-masonry.mjs.map +1 -1
  96. package/fesm2022/cmat-components-material-color-picker.mjs +4 -4
  97. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  98. package/fesm2022/cmat-components-material-datetimepicker.mjs +53 -53
  99. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  100. package/fesm2022/cmat-components-navigation.mjs +51 -51
  101. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  102. package/fesm2022/cmat-components-opt-input.mjs +457 -0
  103. package/fesm2022/cmat-components-opt-input.mjs.map +1 -0
  104. package/fesm2022/cmat-components-org-chart.mjs +141 -0
  105. package/fesm2022/cmat-components-org-chart.mjs.map +1 -0
  106. package/fesm2022/cmat-components-pagination.mjs +13 -13
  107. package/fesm2022/cmat-components-pagination.mjs.map +1 -1
  108. package/fesm2022/cmat-components-password-strength.mjs +12 -12
  109. package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
  110. package/fesm2022/cmat-components-popover.mjs +10 -10
  111. package/fesm2022/cmat-components-popover.mjs.map +1 -1
  112. package/fesm2022/cmat-components-progress-bar.mjs +4 -4
  113. package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
  114. package/fesm2022/cmat-components-rating.mjs +4 -4
  115. package/fesm2022/cmat-components-rating.mjs.map +1 -1
  116. package/fesm2022/cmat-components-select-search.mjs +11 -11
  117. package/fesm2022/cmat-components-select-search.mjs.map +1 -1
  118. package/fesm2022/cmat-components-select-table.mjs +658 -0
  119. package/fesm2022/cmat-components-select-table.mjs.map +1 -0
  120. package/fesm2022/cmat-components-select-tree.mjs +75 -57
  121. package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
  122. package/fesm2022/cmat-components-speed-dial.mjs +312 -0
  123. package/fesm2022/cmat-components-speed-dial.mjs.map +1 -0
  124. package/fesm2022/cmat-components-timeline.mjs +14 -14
  125. package/fesm2022/cmat-components-timeline.mjs.map +1 -1
  126. package/fesm2022/cmat-components-toast.mjs +11 -11
  127. package/fesm2022/cmat-components-toast.mjs.map +1 -1
  128. package/fesm2022/cmat-components-transfer-picker.mjs +60 -41
  129. package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
  130. package/fesm2022/cmat-components-treetable.mjs +122 -0
  131. package/fesm2022/cmat-components-treetable.mjs.map +1 -0
  132. package/fesm2022/cmat-components-upload.mjs +11 -11
  133. package/fesm2022/cmat-components-upload.mjs.map +1 -1
  134. package/fesm2022/cmat-directives-animate-on-scroll.mjs +21 -21
  135. package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
  136. package/fesm2022/cmat-directives-arrow-cursor.mjs +184 -0
  137. package/fesm2022/cmat-directives-arrow-cursor.mjs.map +1 -0
  138. package/fesm2022/cmat-directives-autofocus.mjs +3 -3
  139. package/fesm2022/cmat-directives-autofocus.mjs.map +1 -1
  140. package/fesm2022/cmat-directives-data-exporter.mjs +324 -0
  141. package/fesm2022/cmat-directives-data-exporter.mjs.map +1 -0
  142. package/fesm2022/cmat-directives-debounce.mjs +9 -9
  143. package/fesm2022/cmat-directives-debounce.mjs.map +1 -1
  144. package/fesm2022/cmat-directives-digit-only.mjs +8 -6
  145. package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
  146. package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
  147. package/fesm2022/cmat-directives-equal-validator.mjs.map +1 -1
  148. package/fesm2022/cmat-lib-mock-api.mjs +6 -6
  149. package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
  150. package/fesm2022/cmat-pipes-bytes.mjs +3 -3
  151. package/fesm2022/cmat-pipes-bytes.mjs.map +1 -1
  152. package/fesm2022/cmat-pipes-date-format.mjs +3 -3
  153. package/fesm2022/cmat-pipes-date-format.mjs.map +1 -1
  154. package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
  155. package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
  156. package/fesm2022/cmat-pipes-group-by.mjs +3 -3
  157. package/fesm2022/cmat-pipes-group-by.mjs.map +1 -1
  158. package/fesm2022/cmat-pipes-keys.mjs +3 -3
  159. package/fesm2022/cmat-pipes-keys.mjs.map +1 -1
  160. package/fesm2022/cmat-pipes-secure.mjs +3 -3
  161. package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
  162. package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
  163. package/fesm2022/cmat-pipes-uppercase.mjs.map +1 -1
  164. package/fesm2022/cmat-services-alert.mjs +3 -3
  165. package/fesm2022/cmat-services-alert.mjs.map +1 -1
  166. package/fesm2022/cmat-services-config.mjs +6 -6
  167. package/fesm2022/cmat-services-config.mjs.map +1 -1
  168. package/fesm2022/cmat-services-confirmation.mjs +7 -7
  169. package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
  170. package/fesm2022/cmat-services-data.mjs +5 -5
  171. package/fesm2022/cmat-services-data.mjs.map +1 -1
  172. package/fesm2022/cmat-services-export-as.mjs +211 -0
  173. package/fesm2022/cmat-services-export-as.mjs.map +1 -0
  174. package/fesm2022/cmat-services-loading.mjs +6 -6
  175. package/fesm2022/cmat-services-loading.mjs.map +1 -1
  176. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  177. package/fesm2022/cmat-services-local-storage.mjs.map +1 -1
  178. package/fesm2022/cmat-services-media-watcher.mjs +3 -3
  179. package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
  180. package/fesm2022/cmat-services-platform.mjs +3 -3
  181. package/fesm2022/cmat-services-platform.mjs.map +1 -1
  182. package/fesm2022/cmat-services-splash-screen.mjs +3 -3
  183. package/fesm2022/cmat-services-splash-screen.mjs.map +1 -1
  184. package/fesm2022/cmat-services-title.mjs +3 -3
  185. package/fesm2022/cmat-services-title.mjs.map +1 -1
  186. package/fesm2022/cmat-services-translation.mjs +3 -3
  187. package/fesm2022/cmat-services-translation.mjs.map +1 -1
  188. package/fesm2022/cmat-services-utils.mjs +35 -3
  189. package/fesm2022/cmat-services-utils.mjs.map +1 -1
  190. package/fesm2022/cmat-validators.mjs.map +1 -1
  191. package/fesm2022/cmat-version.mjs.map +1 -1
  192. package/icons/arrow-cursor.svg +1 -1
  193. package/package.json +81 -147
  194. package/services/data/data.service.d.ts +1 -1
  195. package/services/export-as/export-as-config.model.d.ts +8 -0
  196. package/services/export-as/export-as.service.d.ts +43 -0
  197. package/services/export-as/index.d.ts +5 -0
  198. package/services/export-as/public-api.d.ts +2 -0
  199. package/services/utils/utils.service.d.ts +4 -0
  200. package/styles/overrides/angular-material.scss +95 -13
  201. package/esm2022/animations/cmat-animations.mjs +0 -5
  202. package/esm2022/animations/defaults.mjs +0 -12
  203. package/esm2022/animations/dropdown.mjs +0 -26
  204. package/esm2022/animations/expand-collapse.mjs +0 -17
  205. package/esm2022/animations/fade.mjs +0 -170
  206. package/esm2022/animations/public-api.mjs +0 -19
  207. package/esm2022/animations/shake.mjs +0 -59
  208. package/esm2022/animations/slide.mjs +0 -124
  209. package/esm2022/animations/transform.mjs +0 -16
  210. package/esm2022/animations/zoom.mjs +0 -38
  211. package/esm2022/cmat.mjs +0 -5
  212. package/esm2022/components/adapter/cmat-components-adapter.mjs +0 -5
  213. package/esm2022/components/adapter/datetime-adapter.mjs +0 -127
  214. package/esm2022/components/adapter/datetime-formats.mjs +0 -3
  215. package/esm2022/components/adapter/dayjs-date-adapter.mjs +0 -198
  216. package/esm2022/components/adapter/dayjs-date-formats.mjs +0 -12
  217. package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +0 -100
  218. package/esm2022/components/adapter/dayjs-datetime-formats.mjs +0 -21
  219. package/esm2022/components/adapter/native-datetime-adapter.mjs +0 -130
  220. package/esm2022/components/adapter/native-datetime-formats.mjs +0 -15
  221. package/esm2022/components/adapter/public-api.mjs +0 -9
  222. package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +0 -19
  223. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +0 -94
  224. package/esm2022/components/breadcrumb/breadcrumb.service.mjs +0 -333
  225. package/esm2022/components/breadcrumb/cmat-components-breadcrumb.mjs +0 -5
  226. package/esm2022/components/breadcrumb/public-api.mjs +0 -6
  227. package/esm2022/components/breadcrumb/types/breadcrumb.config.mjs +0 -2
  228. package/esm2022/components/breadcrumb/types/breadcrumb.mjs +0 -2
  229. package/esm2022/components/card/card.component.mjs +0 -49
  230. package/esm2022/components/card/card.types.mjs +0 -2
  231. package/esm2022/components/card/cmat-components-card.mjs +0 -5
  232. package/esm2022/components/card/public-api.mjs +0 -3
  233. package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +0 -49
  234. package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +0 -384
  235. package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +0 -22
  236. package/esm2022/components/cascade/cmat-components-cascade.mjs +0 -5
  237. package/esm2022/components/cascade/options.interface.mjs +0 -2
  238. package/esm2022/components/cascade/public-api.mjs +0 -4
  239. package/esm2022/components/chip-input/chip-input.component.mjs +0 -251
  240. package/esm2022/components/chip-input/cmat-components-chip-input.mjs +0 -5
  241. package/esm2022/components/chip-input/public-api.mjs +0 -2
  242. package/esm2022/components/custom-formly/cmat-components-custom-formly.mjs +0 -5
  243. package/esm2022/components/custom-formly/extension/addons.extension.mjs +0 -13
  244. package/esm2022/components/custom-formly/public-api.mjs +0 -29
  245. package/esm2022/components/custom-formly/types/button/button.component.mjs +0 -81
  246. package/esm2022/components/custom-formly/types/cascade/cascade.component.mjs +0 -71
  247. package/esm2022/components/custom-formly/types/checklist/checklist.component.mjs +0 -161
  248. package/esm2022/components/custom-formly/types/chips/chips.component.mjs +0 -55
  249. package/esm2022/components/custom-formly/types/color-picker/color-picker.component.mjs +0 -15
  250. package/esm2022/components/custom-formly/types/date-range/date-range.component.mjs +0 -25
  251. package/esm2022/components/custom-formly/types/datepicker/datepicker.component.mjs +0 -51
  252. package/esm2022/components/custom-formly/types/multicheckbox/multicheckbox.component.mjs +0 -88
  253. package/esm2022/components/custom-formly/types/number/number.component.mjs +0 -27
  254. package/esm2022/components/custom-formly/types/quill/quill.component.mjs +0 -171
  255. package/esm2022/components/custom-formly/types/radio/radio.component.mjs +0 -87
  256. package/esm2022/components/custom-formly/types/rating/rating.component.mjs +0 -27
  257. package/esm2022/components/custom-formly/types/repeat/repeat.component.mjs +0 -25
  258. package/esm2022/components/custom-formly/types/select/select.component.mjs +0 -167
  259. package/esm2022/components/custom-formly/types/select-tree/select-tree.component.mjs +0 -66
  260. package/esm2022/components/custom-formly/types/stepper/horizontal/stepper.component.mjs +0 -28
  261. package/esm2022/components/custom-formly/types/stepper/stepper.type.mjs +0 -2
  262. package/esm2022/components/custom-formly/types/stepper/vertical/stepper.component.mjs +0 -28
  263. package/esm2022/components/custom-formly/types/table/table.component.mjs +0 -127
  264. package/esm2022/components/custom-formly/types/tabs/tab.component.mjs +0 -16
  265. package/esm2022/components/custom-formly/types/tags/tags.component.mjs +0 -146
  266. package/esm2022/components/custom-formly/types/textarea/textarea.component.mjs +0 -25
  267. package/esm2022/components/custom-formly/types/upload/upload.component.mjs +0 -58
  268. package/esm2022/components/custom-formly/wrappers/addons/addons.component.mjs +0 -92
  269. package/esm2022/components/custom-formly/wrappers/card/card.component.mjs +0 -14
  270. package/esm2022/components/custom-formly/wrappers/expansion/expansion.component.mjs +0 -14
  271. package/esm2022/components/custom-formly/wrappers/form-field/form-field.component.mjs +0 -47
  272. package/esm2022/components/custom-formly/wrappers/panel/panel.component.mjs +0 -12
  273. package/esm2022/components/date-range/cmat-components-date-range.mjs +0 -5
  274. package/esm2022/components/date-range/date-range.component.mjs +0 -558
  275. package/esm2022/components/date-range/public-api.mjs +0 -2
  276. package/esm2022/components/drawer/cmat-components-drawer.mjs +0 -5
  277. package/esm2022/components/drawer/drawer.component.mjs +0 -301
  278. package/esm2022/components/drawer/drawer.service.mjs +0 -41
  279. package/esm2022/components/drawer/drawer.types.mjs +0 -2
  280. package/esm2022/components/drawer/public-api.mjs +0 -4
  281. package/esm2022/components/fullscreen/cmat-components-fullscreen.mjs +0 -5
  282. package/esm2022/components/fullscreen/fullscreen.component.mjs +0 -44
  283. package/esm2022/components/fullscreen/public-api.mjs +0 -2
  284. package/esm2022/components/highlight/cmat-components-highlight.mjs +0 -5
  285. package/esm2022/components/highlight/highlight.component.mjs +0 -80
  286. package/esm2022/components/highlight/highlight.service.mjs +0 -47
  287. package/esm2022/components/highlight/public-api.mjs +0 -3
  288. package/esm2022/components/json-editor/cmat-components-json-editor.mjs +0 -5
  289. package/esm2022/components/json-editor/json-editor.component.mjs +0 -176
  290. package/esm2022/components/json-editor/public-api.mjs +0 -2
  291. package/esm2022/components/masonry/cmat-components-masonry.mjs +0 -5
  292. package/esm2022/components/masonry/masonry.component.mjs +0 -54
  293. package/esm2022/components/masonry/public-api.mjs +0 -2
  294. package/esm2022/components/material-color-picker/base-color.mjs +0 -13
  295. package/esm2022/components/material-color-picker/cmat-components-material-color-picker.mjs +0 -5
  296. package/esm2022/components/material-color-picker/material-color-picker.component.mjs +0 -147
  297. package/esm2022/components/material-color-picker/public-api.mjs +0 -3
  298. package/esm2022/components/material-color-picker/selected-color.mjs +0 -3
  299. package/esm2022/components/material-datetimepicker/calendar-body.mjs +0 -76
  300. package/esm2022/components/material-datetimepicker/calendar.mjs +0 -670
  301. package/esm2022/components/material-datetimepicker/clock.mjs +0 -290
  302. package/esm2022/components/material-datetimepicker/cmat-components-material-datetimepicker.mjs +0 -5
  303. package/esm2022/components/material-datetimepicker/datetimepicker-animations.mjs +0 -34
  304. package/esm2022/components/material-datetimepicker/datetimepicker-errors.mjs +0 -6
  305. package/esm2022/components/material-datetimepicker/datetimepicker-filtertype.mjs +0 -8
  306. package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +0 -341
  307. package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +0 -63
  308. package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +0 -87
  309. package/esm2022/components/material-datetimepicker/datetimepicker-types.mjs +0 -2
  310. package/esm2022/components/material-datetimepicker/datetimepicker.mjs +0 -531
  311. package/esm2022/components/material-datetimepicker/month-view.mjs +0 -141
  312. package/esm2022/components/material-datetimepicker/multi-year-view.mjs +0 -197
  313. package/esm2022/components/material-datetimepicker/public-api.mjs +0 -11
  314. package/esm2022/components/material-datetimepicker/time.mjs +0 -455
  315. package/esm2022/components/material-datetimepicker/year-view.mjs +0 -124
  316. package/esm2022/components/navigation/cmat-components-navigation.mjs +0 -5
  317. package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +0 -70
  318. package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +0 -82
  319. package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +0 -47
  320. package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +0 -47
  321. package/esm2022/components/navigation/horizontal/horizontal.component.mjs +0 -87
  322. package/esm2022/components/navigation/navigation.service.mjs +0 -140
  323. package/esm2022/components/navigation/navigation.types.mjs +0 -3
  324. package/esm2022/components/navigation/public-api.mjs +0 -5
  325. package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +0 -162
  326. package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +0 -60
  327. package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +0 -277
  328. package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +0 -56
  329. package/esm2022/components/navigation/vertical/components/group/group.component.mjs +0 -78
  330. package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +0 -56
  331. package/esm2022/components/navigation/vertical/vertical.component.mjs +0 -584
  332. package/esm2022/components/pagination/cmat-components-pagination.mjs +0 -5
  333. package/esm2022/components/pagination/pagination.component.mjs +0 -67
  334. package/esm2022/components/pagination/pagination.directive.mjs +0 -197
  335. package/esm2022/components/pagination/pagination.instance.mjs +0 -2
  336. package/esm2022/components/pagination/pagination.pipe.mjs +0 -100
  337. package/esm2022/components/pagination/pagination.service.mjs +0 -90
  338. package/esm2022/components/pagination/public-api.mjs +0 -6
  339. package/esm2022/components/password-strength/animations/index.mjs +0 -48
  340. package/esm2022/components/password-strength/cmat-components-password-strength.mjs +0 -5
  341. package/esm2022/components/password-strength/enum.mjs +0 -17
  342. package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +0 -27
  343. package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +0 -206
  344. package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +0 -150
  345. package/esm2022/components/password-strength/mat-password-strength-validator.mjs +0 -36
  346. package/esm2022/components/password-strength/public-api.mjs +0 -4
  347. package/esm2022/components/password-strength/regexp.class.mjs +0 -8
  348. package/esm2022/components/popover/cmat-components-popover.mjs +0 -5
  349. package/esm2022/components/popover/popover-trigger.mjs +0 -442
  350. package/esm2022/components/popover/popover.component.mjs +0 -348
  351. package/esm2022/components/popover/popover.errors.mjs +0 -27
  352. package/esm2022/components/popover/popover.interfaces.mjs +0 -2
  353. package/esm2022/components/popover/popover.target.mjs +0 -18
  354. package/esm2022/components/popover/popover.type.mjs +0 -2
  355. package/esm2022/components/popover/public-api.mjs +0 -5
  356. package/esm2022/components/progress-bar/cmat-components-progress-bar.mjs +0 -5
  357. package/esm2022/components/progress-bar/progress-bar.component.mjs +0 -58
  358. package/esm2022/components/progress-bar/public-api.mjs +0 -2
  359. package/esm2022/components/rating/cmat-components-rating.mjs +0 -5
  360. package/esm2022/components/rating/public-api.mjs +0 -2
  361. package/esm2022/components/rating/rating.component.mjs +0 -202
  362. package/esm2022/components/select-search/cmat-components-select-search.mjs +0 -5
  363. package/esm2022/components/select-search/default-options.mjs +0 -16
  364. package/esm2022/components/select-search/public-api.mjs +0 -3
  365. package/esm2022/components/select-search/select-no-entries-found.directive.mjs +0 -14
  366. package/esm2022/components/select-search/select-search-clear.directive.mjs +0 -14
  367. package/esm2022/components/select-search/select-search.component.mjs +0 -485
  368. package/esm2022/components/select-tree/cmat-components-select-tree.mjs +0 -5
  369. package/esm2022/components/select-tree/public-api.mjs +0 -4
  370. package/esm2022/components/select-tree/select-tree.component.mjs +0 -565
  371. package/esm2022/components/select-tree/select-tree.flatnode.mjs +0 -3
  372. package/esm2022/components/select-tree/select-tree.node.mjs +0 -3
  373. package/esm2022/components/timeline/cmat-components-timeline.mjs +0 -5
  374. package/esm2022/components/timeline/public-api.mjs +0 -3
  375. package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +0 -70
  376. package/esm2022/components/timeline/timeline.component.mjs +0 -107
  377. package/esm2022/components/toast/cmat-components-toast.mjs +0 -5
  378. package/esm2022/components/toast/models/global-config.model.mjs +0 -2
  379. package/esm2022/components/toast/models/toast.model.mjs +0 -2
  380. package/esm2022/components/toast/models/type.model.mjs +0 -2
  381. package/esm2022/components/toast/public-api.mjs +0 -7
  382. package/esm2022/components/toast/toast-modal.component.mjs +0 -53
  383. package/esm2022/components/toast/toast.component.mjs +0 -30
  384. package/esm2022/components/toast/toast.service.mjs +0 -122
  385. package/esm2022/components/transfer-picker/cmat-components-transfer-picker.mjs +0 -5
  386. package/esm2022/components/transfer-picker/filter/filter.component.mjs +0 -91
  387. package/esm2022/components/transfer-picker/interface.mjs +0 -17
  388. package/esm2022/components/transfer-picker/public-api.mjs +0 -8
  389. package/esm2022/components/transfer-picker/search/search.component.mjs +0 -38
  390. package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +0 -201
  391. package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +0 -32
  392. package/esm2022/components/transfer-picker/transfer-picker.component.mjs +0 -84
  393. package/esm2022/components/transfer-picker/transfer-picker.service.mjs +0 -137
  394. package/esm2022/components/upload/cmat-components-upload.mjs +0 -5
  395. package/esm2022/components/upload/files.type.mjs +0 -2
  396. package/esm2022/components/upload/files.util.service.mjs +0 -89
  397. package/esm2022/components/upload/public-api.mjs +0 -5
  398. package/esm2022/components/upload/upload-queue/upload-queue.component.mjs +0 -155
  399. package/esm2022/components/upload/upload.component.mjs +0 -118
  400. package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +0 -126
  401. package/esm2022/directives/animate-on-scroll/cmat-directives-animate-on-scroll.mjs +0 -5
  402. package/esm2022/directives/animate-on-scroll/public-api.mjs +0 -2
  403. package/esm2022/directives/animate-on-scroll/scroll.service.mjs +0 -38
  404. package/esm2022/directives/autofocus/autofocus.directive.mjs +0 -20
  405. package/esm2022/directives/autofocus/cmat-directives-autofocus.mjs +0 -5
  406. package/esm2022/directives/autofocus/public-api.mjs +0 -2
  407. package/esm2022/directives/debounce/abstract-debounce.directive.mjs +0 -34
  408. package/esm2022/directives/debounce/cmat-directives-debounce.mjs +0 -5
  409. package/esm2022/directives/debounce/debounce-click.directive.mjs +0 -25
  410. package/esm2022/directives/debounce/debounce-keyup.directive.mjs +0 -25
  411. package/esm2022/directives/debounce/public-api.mjs +0 -3
  412. package/esm2022/directives/digit-only/cmat-directives-digit-only.mjs +0 -5
  413. package/esm2022/directives/digit-only/digit-only.directive.mjs +0 -298
  414. package/esm2022/directives/digit-only/mask.directive.mjs +0 -84
  415. package/esm2022/directives/digit-only/public-api.mjs +0 -3
  416. package/esm2022/directives/equal-validator/cmat-directives-equal-validator.mjs +0 -5
  417. package/esm2022/directives/equal-validator/equal-validator.directive.mjs +0 -54
  418. package/esm2022/directives/equal-validator/public-api.mjs +0 -2
  419. package/esm2022/lib/mock-api/cmat-lib-mock-api.mjs +0 -5
  420. package/esm2022/lib/mock-api/mock-api.constants.mjs +0 -3
  421. package/esm2022/lib/mock-api/mock-api.interceptor.mjs +0 -73
  422. package/esm2022/lib/mock-api/mock-api.request-handler.mjs +0 -48
  423. package/esm2022/lib/mock-api/mock-api.service.mjs +0 -93
  424. package/esm2022/lib/mock-api/mock-api.types.mjs +0 -2
  425. package/esm2022/lib/mock-api/mock-api.utils.mjs +0 -16
  426. package/esm2022/lib/mock-api/public-api.mjs +0 -6
  427. package/esm2022/pipes/bytes/bytes.pipe.mjs +0 -25
  428. package/esm2022/pipes/bytes/cmat-pipes-bytes.mjs +0 -5
  429. package/esm2022/pipes/bytes/public-api.mjs +0 -2
  430. package/esm2022/pipes/date-format/cmat-pipes-date-format.mjs +0 -5
  431. package/esm2022/pipes/date-format/date-format.pipe.mjs +0 -20
  432. package/esm2022/pipes/date-format/public-api.mjs +0 -2
  433. package/esm2022/pipes/find-by-key/cmat-pipes-find-by-key.mjs +0 -5
  434. package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +0 -23
  435. package/esm2022/pipes/find-by-key/public-api.mjs +0 -2
  436. package/esm2022/pipes/group-by/cmat-pipes-group-by.mjs +0 -5
  437. package/esm2022/pipes/group-by/group-by.pipe.mjs +0 -29
  438. package/esm2022/pipes/group-by/public-api.mjs +0 -2
  439. package/esm2022/pipes/keys/cmat-pipes-keys.mjs +0 -5
  440. package/esm2022/pipes/keys/keys.pipe.mjs +0 -26
  441. package/esm2022/pipes/keys/public-api.mjs +0 -2
  442. package/esm2022/pipes/secure/cmat-pipes-secure.mjs +0 -5
  443. package/esm2022/pipes/secure/public-api.mjs +0 -2
  444. package/esm2022/pipes/secure/secure-pipe.mjs +0 -46
  445. package/esm2022/pipes/uppercase/cmat-pipes-uppercase.mjs +0 -5
  446. package/esm2022/pipes/uppercase/public-api.mjs +0 -2
  447. package/esm2022/pipes/uppercase/uppercase.pipe.mjs +0 -17
  448. package/esm2022/public-api.mjs +0 -2
  449. package/esm2022/services/alert/alert.dialog.mjs +0 -12
  450. package/esm2022/services/alert/alert.message.mjs +0 -9
  451. package/esm2022/services/alert/alert.service.mjs +0 -166
  452. package/esm2022/services/alert/cmat-services-alert.mjs +0 -5
  453. package/esm2022/services/alert/enum.mjs +0 -15
  454. package/esm2022/services/alert/public-api.mjs +0 -5
  455. package/esm2022/services/config/cmat-services-config.mjs +0 -5
  456. package/esm2022/services/config/config.constants.mjs +0 -3
  457. package/esm2022/services/config/config.service.mjs +0 -35
  458. package/esm2022/services/config/public-api.mjs +0 -4
  459. package/esm2022/services/config/urlStateConfig.service.mjs +0 -30
  460. package/esm2022/services/confirmation/cmat-services-confirmation.mjs +0 -5
  461. package/esm2022/services/confirmation/confirmation.service.mjs +0 -51
  462. package/esm2022/services/confirmation/confirmation.types.mjs +0 -2
  463. package/esm2022/services/confirmation/dialog/dialog.component.mjs +0 -25
  464. package/esm2022/services/confirmation/public-api.mjs +0 -3
  465. package/esm2022/services/data/cmat-services-data.mjs +0 -5
  466. package/esm2022/services/data/data.service.mjs +0 -169
  467. package/esm2022/services/data/public-api.mjs +0 -2
  468. package/esm2022/services/loading/cmat-services-loading.mjs +0 -5
  469. package/esm2022/services/loading/loading.interceptor.mjs +0 -29
  470. package/esm2022/services/loading/loading.service.mjs +0 -72
  471. package/esm2022/services/loading/public-api.mjs +0 -3
  472. package/esm2022/services/local-storage/cmat-services-local-storage.mjs +0 -5
  473. package/esm2022/services/local-storage/local-storage.service.mjs +0 -22
  474. package/esm2022/services/local-storage/public-api.mjs +0 -2
  475. package/esm2022/services/media-watcher/cmat-services-media-watcher.mjs +0 -5
  476. package/esm2022/services/media-watcher/media-watcher.service.mjs +0 -55
  477. package/esm2022/services/media-watcher/public-api.mjs +0 -2
  478. package/esm2022/services/platform/cmat-services-platform.mjs +0 -5
  479. package/esm2022/services/platform/platform.service.mjs +0 -46
  480. package/esm2022/services/platform/public-api.mjs +0 -2
  481. package/esm2022/services/splash-screen/cmat-services-splash-screen.mjs +0 -5
  482. package/esm2022/services/splash-screen/public-api.mjs +0 -2
  483. package/esm2022/services/splash-screen/splash-screen.service.mjs +0 -42
  484. package/esm2022/services/title/cmat-services-title.mjs +0 -5
  485. package/esm2022/services/title/public-api.mjs +0 -2
  486. package/esm2022/services/title/title.service.mjs +0 -46
  487. package/esm2022/services/translation/cmat-services-translation.mjs +0 -5
  488. package/esm2022/services/translation/public-api.mjs +0 -2
  489. package/esm2022/services/translation/translation.service.mjs +0 -62
  490. package/esm2022/services/utils/cmat-services-utils.mjs +0 -5
  491. package/esm2022/services/utils/public-api.mjs +0 -2
  492. package/esm2022/services/utils/utils.service.mjs +0 -435
  493. package/esm2022/validators/cmat-validators.mjs +0 -5
  494. package/esm2022/validators/public-api.mjs +0 -2
  495. package/esm2022/validators/validators.mjs +0 -33
  496. package/esm2022/version/cmat-version.mjs +0 -5
  497. package/esm2022/version/public-api.mjs +0 -2
  498. package/esm2022/version/version.mjs +0 -11
@@ -1,47 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import hljs from 'highlight.js';
3
- import * as i0 from "@angular/core";
4
- export class CmatHighlightService {
5
- highlight(code, language) {
6
- // Format the code
7
- code = this._format(code);
8
- // Highlight and return the code
9
- return hljs.highlight(code, { language }).value;
10
- }
11
- _format(code) {
12
- let indentation = 0;
13
- // Split the code into lines and store the lines
14
- const lines = code.split('\n');
15
- // Trim the empty lines around the code block
16
- while (lines.length && lines[0].trim() === '') {
17
- lines.shift();
18
- }
19
- while (lines.length && lines[lines.length - 1].trim() === '') {
20
- lines.pop();
21
- }
22
- // Iterate through the lines
23
- lines.filter(line => line.length)
24
- .forEach((line, index) => {
25
- // Always get the indentation of the first line so we can
26
- // have something to compare with
27
- if (index === 0) {
28
- indentation = line.search(/\S|$/);
29
- return;
30
- }
31
- // Look at all the remaining lines to figure out the smallest indentation.
32
- indentation = Math.min(line.search(/\S|$/), indentation);
33
- });
34
- // Iterate through the lines one more time, remove the extra
35
- // indentation, join them together and return it
36
- return lines.map(line => line.substring(indentation)).join('\n');
37
- }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatHighlightService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
39
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatHighlightService, providedIn: 'root' }); }
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatHighlightService, decorators: [{
42
- type: Injectable,
43
- args: [{
44
- providedIn: 'root'
45
- }]
46
- }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvaGlnaGxpZ2h0L2hpZ2hsaWdodC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUFJLE1BQU0sY0FBYyxDQUFDOztBQUtoQyxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLFNBQVMsQ0FBQyxJQUFZLEVBQUUsUUFBZ0I7UUFDcEMsa0JBQWtCO1FBQ2xCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFCLGdDQUFnQztRQUNoQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEQsQ0FBQztJQUVPLE9BQU8sQ0FBQyxJQUFZO1FBQ3hCLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQztRQUVwQixnREFBZ0Q7UUFDaEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUvQiw2Q0FBNkM7UUFDN0MsT0FBTyxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM1QyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMzRCxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUVELDRCQUE0QjtRQUM1QixLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUM1QixPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFFckIseURBQXlEO1lBQ3pELGlDQUFpQztZQUNqQyxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDZCxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbEMsT0FBTztZQUNYLENBQUM7WUFFRCwwRUFBMEU7WUFDMUUsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQztRQUVQLDREQUE0RDtRQUM1RCxnREFBZ0Q7UUFDaEQsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDOzhHQTFDUSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZqQixNQUFNOzsyRkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgaGxqcyBmcm9tICdoaWdobGlnaHQuanMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0SGlnaGxpZ2h0U2VydmljZSB7XHJcbiAgICBoaWdobGlnaHQoY29kZTogc3RyaW5nLCBsYW5ndWFnZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICAvLyBGb3JtYXQgdGhlIGNvZGVcclxuICAgICAgICBjb2RlID0gdGhpcy5fZm9ybWF0KGNvZGUpO1xyXG5cclxuICAgICAgICAvLyBIaWdobGlnaHQgYW5kIHJldHVybiB0aGUgY29kZVxyXG4gICAgICAgIHJldHVybiBobGpzLmhpZ2hsaWdodChjb2RlLCB7IGxhbmd1YWdlIH0pLnZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2Zvcm1hdChjb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBpbmRlbnRhdGlvbiA9IDA7XHJcblxyXG4gICAgICAgIC8vIFNwbGl0IHRoZSBjb2RlIGludG8gbGluZXMgYW5kIHN0b3JlIHRoZSBsaW5lc1xyXG4gICAgICAgIGNvbnN0IGxpbmVzID0gY29kZS5zcGxpdCgnXFxuJyk7XHJcblxyXG4gICAgICAgIC8vIFRyaW0gdGhlIGVtcHR5IGxpbmVzIGFyb3VuZCB0aGUgY29kZSBibG9ja1xyXG4gICAgICAgIHdoaWxlIChsaW5lcy5sZW5ndGggJiYgbGluZXNbMF0udHJpbSgpID09PSAnJykge1xyXG4gICAgICAgICAgICBsaW5lcy5zaGlmdCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgd2hpbGUgKGxpbmVzLmxlbmd0aCAmJiBsaW5lc1tsaW5lcy5sZW5ndGggLSAxXS50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgICAgICAgIGxpbmVzLnBvcCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSXRlcmF0ZSB0aHJvdWdoIHRoZSBsaW5lc1xyXG4gICAgICAgIGxpbmVzLmZpbHRlcihsaW5lID0+IGxpbmUubGVuZ3RoKVxyXG4gICAgICAgICAgICAuZm9yRWFjaCgobGluZSwgaW5kZXgpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBBbHdheXMgZ2V0IHRoZSBpbmRlbnRhdGlvbiBvZiB0aGUgZmlyc3QgbGluZSBzbyB3ZSBjYW5cclxuICAgICAgICAgICAgICAgIC8vIGhhdmUgc29tZXRoaW5nIHRvIGNvbXBhcmUgd2l0aFxyXG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5kZW50YXRpb24gPSBsaW5lLnNlYXJjaCgvXFxTfCQvKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gTG9vayBhdCBhbGwgdGhlIHJlbWFpbmluZyBsaW5lcyB0byBmaWd1cmUgb3V0IHRoZSBzbWFsbGVzdCBpbmRlbnRhdGlvbi5cclxuICAgICAgICAgICAgICAgIGluZGVudGF0aW9uID0gTWF0aC5taW4obGluZS5zZWFyY2goL1xcU3wkLyksIGluZGVudGF0aW9uKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgbGluZXMgb25lIG1vcmUgdGltZSwgcmVtb3ZlIHRoZSBleHRyYVxyXG4gICAgICAgIC8vIGluZGVudGF0aW9uLCBqb2luIHRoZW0gdG9nZXRoZXIgYW5kIHJldHVybiBpdFxyXG4gICAgICAgIHJldHVybiBsaW5lcy5tYXAobGluZSA9PiBsaW5lLnN1YnN0cmluZyhpbmRlbnRhdGlvbikpLmpvaW4oJ1xcbicpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './highlight.component';
2
- export * from './highlight.service';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9oaWdobGlnaHQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hpZ2hsaWdodC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2hpZ2hsaWdodC5zZXJ2aWNlJztcclxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21hdC1jb21wb25lbnRzLWpzb24tZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2pzb24tZWRpdG9yL2NtYXQtY29tcG9uZW50cy1qc29uLWVkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,176 +0,0 @@
1
- import { Component, Input, ViewChild, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, } from '@angular/core';
2
- import { stringifyJSONPath, createAjvValidator, parseJSONPath, isKeySelection, isJSONContent, isMultiSelection, createMultiSelection, createJSONEditor, } from 'vanilla-jsoneditor';
3
- import * as i0 from "@angular/core";
4
- export class CmatJsonEditorComponent {
5
- constructor(_changeDetectorRef) {
6
- this._changeDetectorRef = _changeDetectorRef;
7
- this.contentChanged = new EventEmitter();
8
- this.pathChanged = new EventEmitter();
9
- this.id = 'cmatjsoneditor' + Math.floor(Math.random() * 1000000);
10
- this.content = {
11
- text: undefined,
12
- json: {}
13
- };
14
- }
15
- ngOnInit() {
16
- if (!this.jsonEditorContainer.nativeElement) {
17
- console.error('Can\'t find the ElementRef reference for jsoneditor)');
18
- }
19
- this._editor = createJSONEditor({
20
- target: this.jsonEditorContainer.nativeElement,
21
- props: {
22
- ...this.options,
23
- content: this.content,
24
- onChange: (updatedContent, previousContent, { contentErrors, patchResult }) => {
25
- console.log('onChange', {
26
- updatedContent,
27
- previousContent,
28
- contentErrors,
29
- patchResult,
30
- });
31
- this.content = updatedContent;
32
- this.contentChanged.emit(updatedContent);
33
- },
34
- onSelect: this._onSelect.bind(this),
35
- onRenderMenu(items,
36
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
37
- context) {
38
- // remove buttons for table-mode, transform, sort
39
- items.splice(items.findIndex(i => i['text'] === 'table'), 1);
40
- items.splice(items.findIndex(i => i['className'] === 'jse-sort'), 1);
41
- items.splice(items.findIndex(i => i['className'] === 'jse-transform'), 1);
42
- items.forEach((item) => {
43
- const button = item;
44
- switch (button['title']) {
45
- case 'Switch to text mode (current mode: text)':
46
- button.text = '文本';
47
- button.title = '切换到文本模式(当前模式:文本)';
48
- break;
49
- case 'Switch to tree mode (current mode: text)':
50
- button.text = '树';
51
- button.title = '切换到树模式(当前模式:文本)';
52
- break;
53
- case 'Switch to text mode (current mode: tree)':
54
- button.text = '文本';
55
- button.title = '切换到文本模式(当前模式:树)';
56
- break;
57
- case 'Switch to tree mode (current mode: tree)':
58
- button.text = '树';
59
- button.title = '切换到树模式(当前模式:树)';
60
- break;
61
- case 'Format JSON: add proper indentation and new lines (Ctrl+I)':
62
- button.title = 'JSON格式化: 添加适当的缩进和新行 (Ctrl+I)';
63
- break;
64
- case 'Compact JSON: remove all white spacing and new lines (Ctrl+Shift+I)':
65
- button.title = '压缩JSON: 删除所有白色间距和新行 (Ctrl+Shift+I)';
66
- break;
67
- case 'Search (Ctrl+F)':
68
- button.title = '搜索 (Ctrl+F)';
69
- break;
70
- case 'Undo (Ctrl+Z)':
71
- button.title = '撤回 (Ctrl+Z)';
72
- break;
73
- case 'Redo (Ctrl+Shift+Z)':
74
- button.title = '重试 (Ctrl+Shift+Z)';
75
- break;
76
- case 'Expand all':
77
- button.title = '全部展开';
78
- break;
79
- case 'Collapse all':
80
- button.title = '全部折叠';
81
- break;
82
- case 'Open context menu (Click here, right click on the selection, or use the context menu button or Ctrl+Q)':
83
- button.title = '打开内容菜单 (单击此处,右键单击所选内容,或使用内容菜单按钮或 Ctrl+Q)';
84
- break;
85
- }
86
- });
87
- return items;
88
- },
89
- },
90
- });
91
- }
92
- ngOnChanges(changes) {
93
- if (changes.data) {
94
- this.content = {
95
- text: undefined,
96
- json: this.data
97
- };
98
- if (this._editor) {
99
- void this._editor.update(this.content);
100
- }
101
- this._changeDetectorRef.markForCheck();
102
- }
103
- if (changes.options) {
104
- if (this._editor) {
105
- void this._editor?.updateProps(this.options);
106
- }
107
- }
108
- }
109
- ngOnDestroy() {
110
- void this._editor?.destroy();
111
- }
112
- setSchema(schema) {
113
- const validator = createAjvValidator({ schema });
114
- void this._editor?.updateProps({ validator: validator });
115
- }
116
- setSelectionToPath(pathString) {
117
- const path = parseJSONPath(pathString);
118
- const selection = createMultiSelection(path, path);
119
- try {
120
- void this._editor?.select(selection);
121
- }
122
- catch (error) {
123
- console.warn('Set selection to path not possible:', pathString, error);
124
- }
125
- this.pathChanged.emit(pathString);
126
- }
127
- get() {
128
- if (this._editor) {
129
- const content = this._editor.get();
130
- if (isJSONContent(content)) {
131
- const j = this._editor.get().json;
132
- return j;
133
- }
134
- else {
135
- const t = this._editor.get().text;
136
- const j = JSON.parse(t);
137
- return j;
138
- }
139
- }
140
- return undefined;
141
- }
142
- set(json) {
143
- const value = {
144
- json: json,
145
- };
146
- void this._editor?.set(value);
147
- }
148
- _onSelect(selection) {
149
- if (isKeySelection(selection)) {
150
- const st = stringifyJSONPath(selection.path);
151
- this.pathChanged.emit(st);
152
- }
153
- else if (isMultiSelection(selection)) {
154
- const st = stringifyJSONPath(selection.anchorPath);
155
- this.pathChanged.emit(st);
156
- }
157
- }
158
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatJsonEditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: CmatJsonEditorComponent, isStandalone: true, selector: "cmat-json-editor", inputs: { options: "options", data: "data" }, outputs: { contentChanged: "contentChanged", pathChanged: "pathChanged" }, viewQueries: [{ propertyName: "jsonEditorContainer", first: true, predicate: ["jsonEditorContainer"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: '<div class="cmat-jsoneditor" [id]="id" #jsonEditorContainer></div>', isInline: true, styles: [".cmat-jsoneditor .jse-main.svelte-sxaskb{min-height:24rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
160
- }
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatJsonEditorComponent, decorators: [{
162
- type: Component,
163
- args: [{ selector: 'cmat-json-editor', template: '<div class="cmat-jsoneditor" [id]="id" #jsonEditorContainer></div>', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [], styles: [".cmat-jsoneditor .jse-main.svelte-sxaskb{min-height:24rem}\n"] }]
164
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { jsonEditorContainer: [{
165
- type: ViewChild,
166
- args: ['jsonEditorContainer', { static: true }]
167
- }], options: [{
168
- type: Input
169
- }], data: [{
170
- type: Input
171
- }], contentChanged: [{
172
- type: Output
173
- }], pathChanged: [{
174
- type: Output
175
- }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL2pzb24tZWRpdG9yL2pzb24tZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFHTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsaUJBQWlCLEdBSXBCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxpQkFBaUIsRUFHakIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFFYixjQUFjLEVBQ2QsYUFBYSxFQUViLGdCQUFnQixFQUNoQixvQkFBb0IsRUFHcEIsZ0JBQWdCLEdBRW5CLE1BQU0sb0JBQW9CLENBQUM7O0FBWTVCLE1BQU0sT0FBTyx1QkFBdUI7SUFnQmhDLFlBQW9CLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBWC9DLG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUQsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVsRSxPQUFFLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDbkUsWUFBTyxHQUFZO1lBQ2YsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsRUFBRTtTQUNYLENBQUM7SUFJMkQsQ0FBQztJQUU5RCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLENBQUM7WUFDNUIsTUFBTSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhO1lBQzlDLEtBQUssRUFBRTtnQkFDSCxHQUFHLElBQUksQ0FBQyxPQUFPO2dCQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsUUFBUSxFQUFFLENBQ04sY0FBdUIsRUFDdkIsZUFBb0IsRUFDcEIsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFPLEVBQy9CLEVBQUU7b0JBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUU7d0JBQ3BCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFdBQVc7cUJBQ2QsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsY0FBYyxDQUFDO29CQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDN0MsQ0FBQztnQkFDRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNuQyxZQUFZLENBQ1IsS0FBaUI7Z0JBQ2pCLDZEQUE2RDtnQkFDN0QsT0FBNEQ7b0JBRTVELGlEQUFpRDtvQkFDakQsS0FBSyxDQUFDLE1BQU0sQ0FDUixLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxPQUFPLENBQUMsRUFDM0QsQ0FBQyxDQUNKLENBQUM7b0JBQ0YsS0FBSyxDQUFDLE1BQU0sQ0FDUixLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxVQUFVLENBQUMsRUFDbkUsQ0FBQyxDQUNKLENBQUM7b0JBQ0YsS0FBSyxDQUFDLE1BQU0sQ0FDUixLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBZ0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxlQUFlLENBQUMsRUFDeEUsQ0FBQyxDQUNKLENBQUM7b0JBRUYsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO3dCQUNuQixNQUFNLE1BQU0sR0FBRyxJQUFrQixDQUFDO3dCQUNsQyxRQUFRLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDOzRCQUN0QixLQUFLLDBDQUEwQztnQ0FDM0MsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7Z0NBQ25CLE1BQU0sQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUM7Z0NBQ2xDLE1BQU07NEJBQ1YsS0FBSywwQ0FBMEM7Z0NBQzNDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO2dDQUNsQixNQUFNLENBQUMsS0FBSyxHQUFHLGlCQUFpQixDQUFDO2dDQUNqQyxNQUFNOzRCQUNWLEtBQUssMENBQTBDO2dDQUMzQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztnQ0FDbkIsTUFBTSxDQUFDLEtBQUssR0FBRyxpQkFBaUIsQ0FBQztnQ0FDakMsTUFBTTs0QkFDVixLQUFLLDBDQUEwQztnQ0FDM0MsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7Z0NBQ2xCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7Z0NBQ2hDLE1BQU07NEJBQ1YsS0FBSyw0REFBNEQ7Z0NBQzdELE1BQU0sQ0FBQyxLQUFLLEdBQUcsOEJBQThCLENBQUM7Z0NBQzlDLE1BQU07NEJBQ1YsS0FBSyxxRUFBcUU7Z0NBQ3RFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsb0NBQW9DLENBQUM7Z0NBQ3BELE1BQU07NEJBQ1YsS0FBSyxpQkFBaUI7Z0NBQ2xCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO2dDQUM3QixNQUFNOzRCQUNWLEtBQUssZUFBZTtnQ0FDaEIsTUFBTSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7Z0NBQzdCLE1BQU07NEJBQ1YsS0FBSyxxQkFBcUI7Z0NBQ3RCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLENBQUM7Z0NBQ25DLE1BQU07NEJBQ1YsS0FBSyxZQUFZO2dDQUNiLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO2dDQUN0QixNQUFNOzRCQUNWLEtBQUssY0FBYztnQ0FDZixNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztnQ0FDdEIsTUFBTTs0QkFDVixLQUFLLHdHQUF3RztnQ0FDekcsTUFBTSxDQUFDLEtBQUssR0FBRywwQ0FBMEMsQ0FBQztnQ0FDMUQsTUFBTTt3QkFDZCxDQUFDO29CQUNMLENBQUMsQ0FBQyxDQUFDO29CQUNILE9BQU8sS0FBSyxDQUFDO2dCQUNqQixDQUFDO2FBQ0o7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRztnQkFDWCxJQUFJLEVBQUUsU0FBUztnQkFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7YUFDbEIsQ0FBQztZQUVGLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNmLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFFRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsQ0FBQztRQUVELElBQUcsT0FBTyxDQUFDLE9BQU8sRUFBQyxDQUFDO1lBQ2hCLElBQUcsSUFBSSxDQUFDLE9BQU8sRUFBQyxDQUFDO2dCQUNiLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pELENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFXO1FBQ2pCLE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNqRCxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGtCQUFrQixDQUFDLFVBQWtCO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QyxNQUFNLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDO1lBQ0QsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsR0FBRztRQUNDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsTUFBTSxPQUFPLEdBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUM1QyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN6QixNQUFNLENBQUMsR0FBUyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBa0IsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hELE9BQU8sQ0FBQyxDQUFDO1lBQ2IsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE1BQU0sQ0FBQyxHQUFTLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFrQixDQUFDLElBQUksQ0FBQztnQkFDeEQsTUFBTSxDQUFDLEdBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDOUIsT0FBTyxDQUFDLENBQUM7WUFDYixDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBUztRQUNULE1BQU0sS0FBSyxHQUFnQjtZQUN2QixJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUM7UUFFRixLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxTQUFTLENBQUMsU0FBMEM7UUFDeEQsSUFBSSxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM1QixNQUFNLEVBQUUsR0FBRyxpQkFBaUIsQ0FBRSxTQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLENBQUM7YUFBTSxJQUFJLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDckMsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLENBQUUsU0FBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQzs4R0F6TFEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsb1dBUnRCLG9FQUFvRTs7MkZBUXJFLHVCQUF1QjtrQkFWbkMsU0FBUzsrQkFDSSxrQkFBa0IsWUFDbEIsb0VBQW9FLHVCQUN6RCxLQUFLLG1CQUNULHVCQUF1QixDQUFDLE1BQU0saUJBRWhDLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLEVBQUU7c0ZBR3lDLG1CQUFtQjtzQkFBdEUsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ3pDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIE91dHB1dCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBzdHJpbmdpZnlKU09OUGF0aCxcclxuICAgIENvbnRlbnQsXHJcbiAgICBNZW51SXRlbSxcclxuICAgIGNyZWF0ZUFqdlZhbGlkYXRvcixcclxuICAgIHBhcnNlSlNPTlBhdGgsXHJcbiAgICBKU09ORWRpdG9yU2VsZWN0aW9uLFxyXG4gICAgaXNLZXlTZWxlY3Rpb24sXHJcbiAgICBpc0pTT05Db250ZW50LFxyXG4gICAgSlNPTkNvbnRlbnQsXHJcbiAgICBpc011bHRpU2VsZWN0aW9uLFxyXG4gICAgY3JlYXRlTXVsdGlTZWxlY3Rpb24sXHJcbiAgICBNZW51QnV0dG9uLFxyXG4gICAgVGV4dENvbnRlbnQsXHJcbiAgICBjcmVhdGVKU09ORWRpdG9yLFxyXG4gICAgSnNvbkVkaXRvcixcclxufSBmcm9tICd2YW5pbGxhLWpzb25lZGl0b3InO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NtYXQtanNvbi1lZGl0b3InLFxyXG4gICAgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPVwiY21hdC1qc29uZWRpdG9yXCIgW2lkXT1cImlkXCIgI2pzb25FZGl0b3JDb250YWluZXI+PC9kaXY+JyxcclxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9qc29uLWVkaXRvci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdEpzb25FZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICAgIEBWaWV3Q2hpbGQoJ2pzb25FZGl0b3JDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBqc29uRWRpdG9yQ29udGFpbmVyITogRWxlbWVudFJlZjtcclxuICAgIEBJbnB1dCgpIG9wdGlvbnM6IGFueTtcclxuICAgIEBJbnB1dCgpIGRhdGE6IGFueTtcclxuXHJcbiAgICBAT3V0cHV0KCkgY29udGVudENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgcGF0aENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgcHVibGljIGlkID0gJ2NtYXRqc29uZWRpdG9yJyArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDApO1xyXG4gICAgY29udGVudDogQ29udGVudCA9IHtcclxuICAgICAgICB0ZXh0OiB1bmRlZmluZWQsXHJcbiAgICAgICAganNvbjoge31cclxuICAgIH07XHJcblxyXG4gICAgcHJpdmF0ZSBfZWRpdG9yOiBKc29uRWRpdG9yO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmpzb25FZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdDYW5cXCd0IGZpbmQgdGhlIEVsZW1lbnRSZWYgcmVmZXJlbmNlIGZvciBqc29uZWRpdG9yKScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9lZGl0b3IgPSBjcmVhdGVKU09ORWRpdG9yKHtcclxuICAgICAgICAgICAgdGFyZ2V0OiB0aGlzLmpzb25FZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgcHJvcHM6IHtcclxuICAgICAgICAgICAgICAgIC4uLnRoaXMub3B0aW9ucyxcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHRoaXMuY29udGVudCxcclxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlZENvbnRlbnQ6IENvbnRlbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNDb250ZW50OiBhbnksXHJcbiAgICAgICAgICAgICAgICAgICAgeyBjb250ZW50RXJyb3JzLCBwYXRjaFJlc3VsdCB9OiBhbnlcclxuICAgICAgICAgICAgICAgICk6IHZvaWQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdvbkNoYW5nZScsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZENvbnRlbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzQ29udGVudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudEVycm9ycyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0Y2hSZXN1bHQsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50ID0gdXBkYXRlZENvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50Q2hhbmdlZC5lbWl0KHVwZGF0ZWRDb250ZW50KTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBvblNlbGVjdDogdGhpcy5fb25TZWxlY3QuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIG9uUmVuZGVyTWVudShcclxuICAgICAgICAgICAgICAgICAgICBpdGVtczogTWVudUl0ZW1bXSxcclxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXHJcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyBtb2RlOiAndHJlZScgfCAndGV4dCcgfCAndGFibGUnOyBtb2RhbDogYm9vbGVhbiB9XHJcbiAgICAgICAgICAgICAgICApOiBNZW51SXRlbVtdIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgYnV0dG9ucyBmb3IgdGFibGUtbW9kZSwgdHJhbnNmb3JtLCBzb3J0XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXMuc3BsaWNlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtcy5maW5kSW5kZXgoaSA9PiAoaSBhcyBNZW51QnV0dG9uKVsndGV4dCddID09PSAndGFibGUnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgMVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXMuc3BsaWNlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtcy5maW5kSW5kZXgoaSA9PiAoaSBhcyBNZW51QnV0dG9uKVsnY2xhc3NOYW1lJ10gPT09ICdqc2Utc29ydCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAxXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtcy5zcGxpY2UoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zLmZpbmRJbmRleChpID0+IChpIGFzIE1lbnVCdXR0b24pWydjbGFzc05hbWUnXSA9PT0gJ2pzZS10cmFuc2Zvcm0nKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgMVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYnV0dG9uID0gaXRlbSBhcyBNZW51QnV0dG9uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGJ1dHRvblsndGl0bGUnXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnU3dpdGNoIHRvIHRleHQgbW9kZSAoY3VycmVudCBtb2RlOiB0ZXh0KSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uLnRleHQgPSAn5paH5pysJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24udGl0bGUgPSAn5YiH5o2i5Yiw5paH5pys5qih5byPKOW9k+WJjeaooeW8jzrmlofmnKwpJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ1N3aXRjaCB0byB0cmVlIG1vZGUgKGN1cnJlbnQgbW9kZTogdGV4dCknOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbi50ZXh0ID0gJ+agkSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uLnRpdGxlID0gJ+WIh+aNouWIsOagkeaooeW8jyjlvZPliY3mqKHlvI865paH5pysKSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdTd2l0Y2ggdG8gdGV4dCBtb2RlIChjdXJyZW50IG1vZGU6IHRyZWUpJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24udGV4dCA9ICfmlofmnKwnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbi50aXRsZSA9ICfliIfmjaLliLDmlofmnKzmqKHlvI8o5b2T5YmN5qih5byPOuagkSknO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnU3dpdGNoIHRvIHRyZWUgbW9kZSAoY3VycmVudCBtb2RlOiB0cmVlKSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uLnRleHQgPSAn5qCRJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24udGl0bGUgPSAn5YiH5o2i5Yiw5qCR5qih5byPKOW9k+WJjeaooeW8jzrmoJEpJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ0Zvcm1hdCBKU09OOiBhZGQgcHJvcGVyIGluZGVudGF0aW9uIGFuZCBuZXcgbGluZXMgKEN0cmwrSSknOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbi50aXRsZSA9ICdKU09O5qC85byP5YyWOiDmt7vliqDpgILlvZPnmoTnvKnov5vlkozmlrDooYwgKEN0cmwrSSknO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnQ29tcGFjdCBKU09OOiByZW1vdmUgYWxsIHdoaXRlIHNwYWNpbmcgYW5kIG5ldyBsaW5lcyAoQ3RybCtTaGlmdCtJKSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uLnRpdGxlID0gJ+WOi+e8qUpTT046IOWIoOmZpOaJgOacieeZveiJsumXtOi3neWSjOaWsOihjCAoQ3RybCtTaGlmdCtJKSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdTZWFyY2ggKEN0cmwrRiknOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbi50aXRsZSA9ICfmkJzntKIgKEN0cmwrRiknO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnVW5kbyAoQ3RybCtaKSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uLnRpdGxlID0gJ+aSpOWbniAoQ3RybCtaKSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdSZWRvIChDdHJsK1NoaWZ0K1opJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24udGl0bGUgPSAn6YeN6K+VIChDdHJsK1NoaWZ0K1opJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ0V4cGFuZCBhbGwnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbi50aXRsZSA9ICflhajpg6jlsZXlvIAnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnQ29sbGFwc2UgYWxsJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24udGl0bGUgPSAn5YWo6YOo5oqY5Y+gJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ09wZW4gY29udGV4dCBtZW51IChDbGljayBoZXJlLCByaWdodCBjbGljayBvbiB0aGUgc2VsZWN0aW9uLCBvciB1c2UgdGhlIGNvbnRleHQgbWVudSBidXR0b24gb3IgQ3RybCtRKSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uLnRpdGxlID0gJ+aJk+W8gOWGheWuueiPnOWNlSAo5Y2V5Ye75q2k5aSE77yM5Y+z6ZSu5Y2V5Ye75omA6YCJ5YaF5a6577yM5oiW5L2/55So5YaF5a656I+c5Y2V5oyJ6ZKu5oiWIEN0cmwrUSknO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1zO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuZGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQgPSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0OiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICBqc29uOiB0aGlzLmRhdGFcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcclxuICAgICAgICAgICAgICAgIHZvaWQgdGhpcy5fZWRpdG9yLnVwZGF0ZSh0aGlzLmNvbnRlbnQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKGNoYW5nZXMub3B0aW9ucyl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuX2VkaXRvcil7XHJcbiAgICAgICAgICAgICAgICB2b2lkIHRoaXMuX2VkaXRvcj8udXBkYXRlUHJvcHModGhpcy5vcHRpb25zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB2b2lkIHRoaXMuX2VkaXRvcj8uZGVzdHJveSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFNjaGVtYShzY2hlbWE6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHZhbGlkYXRvciA9IGNyZWF0ZUFqdlZhbGlkYXRvcih7IHNjaGVtYSB9KTtcclxuICAgICAgICB2b2lkIHRoaXMuX2VkaXRvcj8udXBkYXRlUHJvcHMoeyB2YWxpZGF0b3I6IHZhbGlkYXRvciB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRTZWxlY3Rpb25Ub1BhdGgocGF0aFN0cmluZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgcGF0aCA9IHBhcnNlSlNPTlBhdGgocGF0aFN0cmluZyk7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gY3JlYXRlTXVsdGlTZWxlY3Rpb24ocGF0aCwgcGF0aCk7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHZvaWQgdGhpcy5fZWRpdG9yPy5zZWxlY3Qoc2VsZWN0aW9uKTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1NldCBzZWxlY3Rpb24gdG8gcGF0aCBub3QgcG9zc2libGU6JywgcGF0aFN0cmluZywgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnBhdGhDaGFuZ2VkLmVtaXQocGF0aFN0cmluZyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0KCk6IEpTT04gfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcclxuICAgICAgICAgICAgY29uc3QgY29udGVudDogQ29udGVudCA9IHRoaXMuX2VkaXRvci5nZXQoKTtcclxuICAgICAgICAgICAgaWYgKGlzSlNPTkNvbnRlbnQoY29udGVudCkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGo6IGFueSA9ICh0aGlzLl9lZGl0b3IuZ2V0KCkgYXMgSlNPTkNvbnRlbnQpLmpzb247XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gajtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHQ6IGFueSA9ICh0aGlzLl9lZGl0b3IuZ2V0KCkgYXMgVGV4dENvbnRlbnQpLnRleHQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBqOiBKU09OID0gSlNPTi5wYXJzZSh0KTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBqO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0KGpzb246IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlOiBKU09OQ29udGVudCA9IHtcclxuICAgICAgICAgICAganNvbjoganNvbixcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB2b2lkIHRoaXMuX2VkaXRvcj8uc2V0KHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9vblNlbGVjdChzZWxlY3Rpb246IEpTT05FZGl0b3JTZWxlY3Rpb24gfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoaXNLZXlTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xyXG4gICAgICAgICAgICBjb25zdCBzdCA9IHN0cmluZ2lmeUpTT05QYXRoKChzZWxlY3Rpb24gYXMgYW55KS5wYXRoKTtcclxuICAgICAgICAgICAgdGhpcy5wYXRoQ2hhbmdlZC5lbWl0KHN0KTtcclxuICAgICAgICB9IGVsc2UgaWYgKGlzTXVsdGlTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xyXG4gICAgICAgICAgICBjb25zdCBzdCA9IHN0cmluZ2lmeUpTT05QYXRoKChzZWxlY3Rpb24gYXMgYW55KS5hbmNob3JQYXRoKTtcclxuICAgICAgICAgICAgdGhpcy5wYXRoQ2hhbmdlZC5lbWl0KHN0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,2 +0,0 @@
1
- export * from './json-editor.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9qc29uLWVkaXRvci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2pzb24tZWRpdG9yLmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21hdC1jb21wb25lbnRzLW1hc29ucnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvbWFzb25yeS9jbWF0LWNvbXBvbmVudHMtbWFzb25yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,54 +0,0 @@
1
- import { NgTemplateOutlet } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
3
- import { cmatAnimations } from 'cmat/animations';
4
- import * as i0 from "@angular/core";
5
- export class CmatMasonryComponent {
6
- constructor() {
7
- this.items = [];
8
- this.distributedColumns = [];
9
- }
10
- ngOnChanges(changes) {
11
- // Columns
12
- if ('columns' in changes) {
13
- // Distribute the items
14
- this._distributeItems();
15
- }
16
- // Items
17
- if ('items' in changes) {
18
- // Distribute the items
19
- this._distributeItems();
20
- }
21
- }
22
- ngAfterViewInit() {
23
- // Distribute the items for the first time
24
- this._distributeItems();
25
- }
26
- _distributeItems() {
27
- // Return an empty array if there are no items
28
- if (this.items.length === 0) {
29
- this.distributedColumns = [];
30
- return;
31
- }
32
- // Prepare the distributed columns array
33
- this.distributedColumns = Array.from(Array(this.columns), () => ({ items: [] }));
34
- // Distribute the items to columns
35
- for (let i = 0; i < this.items.length; i++) {
36
- this.distributedColumns[i % this.columns].items.push(this.items[i]);
37
- }
38
- }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatMasonryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: CmatMasonryComponent, isStandalone: true, selector: "cmat-masonry", inputs: { columnsTemplate: "columnsTemplate", columns: "columns", items: "items" }, exportAs: ["cmatMasonry"], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex p-2\">\r\n <ng-container *ngTemplateOutlet=\"columnsTemplate; context: { $implicit: distributedColumns }\"></ng-container>\r\n</div>", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: cmatAnimations, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatMasonryComponent, decorators: [{
43
- type: Component,
44
- args: [{ selector: 'cmat-masonry', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: cmatAnimations, exportAs: 'cmatMasonry', standalone: true, imports: [NgTemplateOutlet], template: "<div class=\"flex p-2\">\r\n <ng-container *ngTemplateOutlet=\"columnsTemplate; context: { $implicit: distributedColumns }\"></ng-container>\r\n</div>" }]
45
- }], propDecorators: { columnsTemplate: [{
46
- type: Input,
47
- args: [{ required: true }]
48
- }], columns: [{
49
- type: Input,
50
- args: [{ required: true }]
51
- }], items: [{
52
- type: Input
53
- }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzb25yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvbWFzb25yeS9tYXNvbnJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9tYXNvbnJ5L21hc29ucnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFnQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF5QyxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqSixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBWS9DLE1BQU0sT0FBTyxvQkFBb0I7SUFWakM7UUFhYSxVQUFLLEdBQVUsRUFBRSxDQUFDO1FBQzNCLHVCQUFrQixHQUFVLEVBQUUsQ0FBQztLQW9DbEM7SUFsQ0csV0FBVyxDQUFDLE9BQXNCO1FBQzlCLFVBQVU7UUFDVixJQUFJLFNBQVMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUN2Qix1QkFBdUI7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUVELFFBQVE7UUFDUixJQUFJLE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNyQix1QkFBdUI7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsOENBQThDO1FBQzlDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztZQUM3QixPQUFPO1FBQ1gsQ0FBQztRQUVELHdDQUF3QztRQUN4QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9FLGtDQUFrQztRQUNsQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0wsQ0FBQzs4R0F2Q1Esb0JBQW9CO2tHQUFwQixvQkFBb0IsNE1DZGpDLDJKQUVNLDRDRFVRLGdCQUFnQixzSUFIZCxjQUFjOzsyRkFLakIsb0JBQW9CO2tCQVZoQyxTQUFTOytCQUNJLGNBQWMsaUJBRVQsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxjQUFjLFlBQ2hCLGFBQWEsY0FDWCxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsQ0FBQzs4QkFHQSxlQUFlO3NCQUF6QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxPQUFPO3NCQUFqQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtjbWF0QW5pbWF0aW9uc30gZnJvbSAnY21hdC9hbmltYXRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjbWF0LW1hc29ucnknLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21hc29ucnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgYW5pbWF0aW9uczogY21hdEFuaW1hdGlvbnMsXHJcbiAgICBleHBvcnRBczogJ2NtYXRNYXNvbnJ5JyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENtYXRNYXNvbnJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcclxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbHVtbnNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbHVtbnM6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGl0ZW1zOiBhbnlbXSA9IFtdO1xyXG4gICAgZGlzdHJpYnV0ZWRDb2x1bW5zOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICAvLyBDb2x1bW5zXHJcbiAgICAgICAgaWYgKCdjb2x1bW5zJyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIC8vIERpc3RyaWJ1dGUgdGhlIGl0ZW1zXHJcbiAgICAgICAgICAgIHRoaXMuX2Rpc3RyaWJ1dGVJdGVtcygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSXRlbXNcclxuICAgICAgICBpZiAoJ2l0ZW1zJyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIC8vIERpc3RyaWJ1dGUgdGhlIGl0ZW1zXHJcbiAgICAgICAgICAgIHRoaXMuX2Rpc3RyaWJ1dGVJdGVtcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gRGlzdHJpYnV0ZSB0aGUgaXRlbXMgZm9yIHRoZSBmaXJzdCB0aW1lXHJcbiAgICAgICAgdGhpcy5fZGlzdHJpYnV0ZUl0ZW1zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZGlzdHJpYnV0ZUl0ZW1zKCk6IHZvaWQge1xyXG4gICAgICAgIC8vIFJldHVybiBhbiBlbXB0eSBhcnJheSBpZiB0aGVyZSBhcmUgbm8gaXRlbXNcclxuICAgICAgICBpZiAodGhpcy5pdGVtcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5kaXN0cmlidXRlZENvbHVtbnMgPSBbXTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gUHJlcGFyZSB0aGUgZGlzdHJpYnV0ZWQgY29sdW1ucyBhcnJheVxyXG4gICAgICAgIHRoaXMuZGlzdHJpYnV0ZWRDb2x1bW5zID0gQXJyYXkuZnJvbShBcnJheSh0aGlzLmNvbHVtbnMpLCAoKSA9PiAoe2l0ZW1zOiBbXX0pKTtcclxuXHJcbiAgICAgICAgLy8gRGlzdHJpYnV0ZSB0aGUgaXRlbXMgdG8gY29sdW1uc1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICB0aGlzLmRpc3RyaWJ1dGVkQ29sdW1uc1tpICUgdGhpcy5jb2x1bW5zXS5pdGVtcy5wdXNoKHRoaXMuaXRlbXNbaV0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBwLTJcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW5zVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBkaXN0cmlidXRlZENvbHVtbnMgfVwiPjwvbmctY29udGFpbmVyPlxyXG48L2Rpdj4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './masonry.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9tYXNvbnJ5L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFzb25yeS5jb21wb25lbnQnO1xyXG4iXX0=
@@ -1,13 +0,0 @@
1
- export const baseColors = [
2
- 'bg-slate',
3
- 'bg-red',
4
- 'bg-amber',
5
- 'bg-orange',
6
- 'bg-emerald',
7
- 'bg-teal',
8
- 'bg-blue',
9
- 'bg-indigo',
10
- 'bg-violet',
11
- 'bg-pink'
12
- ];
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb2xvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9tYXRlcmlhbC1jb2xvci1waWNrZXIvYmFzZS1jb2xvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsVUFBVTtJQUNWLFFBQVE7SUFDUixVQUFVO0lBQ1YsV0FBVztJQUNYLFlBQVk7SUFDWixTQUFTO0lBQ1QsU0FBUztJQUNULFdBQVc7SUFDWCxXQUFXO0lBQ1gsU0FBUztDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYmFzZUNvbG9ycyA9IFtcclxuICAgICdiZy1zbGF0ZScsXHJcbiAgICAnYmctcmVkJyxcclxuICAgICdiZy1hbWJlcicsXHJcbiAgICAnYmctb3JhbmdlJyxcclxuICAgICdiZy1lbWVyYWxkJyxcclxuICAgICdiZy10ZWFsJyxcclxuICAgICdiZy1ibHVlJyxcclxuICAgICdiZy1pbmRpZ28nLFxyXG4gICAgJ2JnLXZpb2xldCcsXHJcbiAgICAnYmctcGluaydcclxuXTtcclxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21hdC1jb21wb25lbnRzLW1hdGVyaWFsLWNvbG9yLXBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9tYXRlcmlhbC1jb2xvci1waWNrZXIvY21hdC1jb21wb25lbnRzLW1hdGVyaWFsLWNvbG9yLXBpY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,147 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatIconModule } from '@angular/material/icon';
6
- import { MatSelectModule } from '@angular/material/select';
7
- import { MatTooltipModule } from '@angular/material/tooltip';
8
- import { cmatAnimations } from 'cmat/animations';
9
- import { baseColors } from './base-color';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/material/select";
12
- import * as i2 from "@angular/material/core";
13
- import * as i3 from "@angular/material/icon";
14
- import * as i4 from "@angular/material/button";
15
- import * as i5 from "@angular/material/tooltip";
16
- export const CMAT_MATERIAL_COLOR_PICKER_VALUE_ACCESSOR = {
17
- provide: NG_VALUE_ACCESSOR,
18
- useExisting: forwardRef(() => CmatMaterialColorPickerComponent),
19
- multi: true
20
- };
21
- export class CmatMaterialColorPickerComponent {
22
- constructor(_changeDetectorRef) {
23
- this._changeDetectorRef = _changeDetectorRef;
24
- // Set the defaults
25
- this.colorChanged = new EventEmitter();
26
- this.palettes = baseColors;
27
- this.hues = ['50', '100', '200', '300', '400', '500', '600', '700', '800', '900'];
28
- this.selectedHue = '500';
29
- this.selectedPalette = 'bg-indigo';
30
- this.view = 'palettes';
31
- // eslint-disable-next-line @typescript-eslint/no-empty-function
32
- this._modelChange = () => { };
33
- // eslint-disable-next-line @typescript-eslint/no-empty-function
34
- this._modelTouched = () => { };
35
- this.updateSelectedColor();
36
- }
37
- get color() {
38
- return this._color;
39
- }
40
- set color(value) {
41
- if (!value || value === '' || this._color === value) {
42
- return;
43
- }
44
- // Split the color value (bg-red-400, bg-blue-500 etc.)
45
- const colorParts = value.split('-');
46
- // Take the very last part as the selected hue value
47
- this.selectedHue = colorParts[colorParts.length - 1];
48
- // Remove the last part
49
- colorParts.pop();
50
- // Rejoin the remaining parts as the selected palette name
51
- this.selectedPalette = colorParts.join('-');
52
- // Update the selected color
53
- this.updateSelectedColor();
54
- }
55
- // eslint-disable-next-line @typescript-eslint/member-ordering
56
- get title() {
57
- return this._title;
58
- }
59
- set title(value) {
60
- this._title = value;
61
- }
62
- // eslint-disable-next-line @typescript-eslint/member-ordering
63
- get readonly() {
64
- return this._readonly;
65
- }
66
- set readonly(value) {
67
- this._readonly = value;
68
- }
69
- registerOnChange(fn) {
70
- this._modelChange = fn;
71
- }
72
- registerOnTouched(fn) {
73
- this._modelTouched = fn;
74
- }
75
- writeValue(color) {
76
- // Return if null
77
- if (!color) {
78
- return;
79
- }
80
- // Set the color
81
- this.color = color;
82
- }
83
- selectPalette(palette) {
84
- // Go to 'hues' view
85
- this.view = 'hues';
86
- // Update the selected palette
87
- this.selectedPalette = palette;
88
- // Update the selected color
89
- this.updateSelectedColor();
90
- }
91
- selectHue(hue) {
92
- // Update the selected hue
93
- this.selectedHue = hue;
94
- // Update the selected color
95
- this.updateSelectedColor();
96
- }
97
- removeColor() {
98
- // Return to the 'palettes' view
99
- this.view = 'palettes';
100
- // Clear the selected palette and hue
101
- this.selectedPalette = 'bg-indigo';
102
- this.selectedHue = '500';
103
- // Update the selected color
104
- this.updateSelectedColor();
105
- }
106
- updateSelectedColor() {
107
- if (this.selectedColor && this.selectedColor.palette === this.selectedPalette && this.selectedColor.hue === this.selectedHue) {
108
- return;
109
- }
110
- // Set the selected color object
111
- this.selectedColor = {
112
- palette: this.selectedPalette,
113
- hue: this.selectedHue,
114
- color: this.selectedPalette + '-' + this.selectedHue
115
- };
116
- this._color = this.selectedColor.color;
117
- this.colorChanged.emit(this.selectedColor);
118
- // Mark the model as touched
119
- this._modelTouched(this.selectedColor.color);
120
- // Update the model
121
- this._modelChange(this.selectedColor.color);
122
- this._changeDetectorRef.markForCheck();
123
- }
124
- goToPalettesView() {
125
- this.view = 'palettes';
126
- }
127
- onMenuOpen(opened) {
128
- if (opened) {
129
- this.view = 'hues';
130
- }
131
- }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatMaterialColorPickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
133
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: CmatMaterialColorPickerComponent, isStandalone: true, selector: "cmat-material-color-picker", inputs: { color: "color", title: "title", readonly: "readonly" }, outputs: { colorChanged: "colorChanged" }, providers: [CMAT_MATERIAL_COLOR_PICKER_VALUE_ACCESSOR], exportAs: ["cmatMaterialColorPicker"], ngImport: i0, template: "<div class=\"rounded\" [ngClass]=\"selectedColor.color\">\r\n <mat-select value=\"init\" panelClass=\"min-w-64\" [disableOptionCentering]=\"true\" [hideSingleSelectionIndicator]=\"true\"\r\n [disabled]=\"readonly\" (openedChange)=\"onMenuOpen($event)\">\r\n <mat-select-trigger class=\"flex p-1\">\r\n <mat-icon [svgIcon]=\"'heroicons_outline:paint-brush'\"></mat-icon>\r\n </mat-select-trigger>\r\n\r\n <header class=\"shadow flex flex-row content-between justify-between p-2\" [ngClass]=\"'accent'\">\r\n <button type=\"button\" mat-icon-button class=\"secondary-text\" aria-label=\"\u8C03\u8272\u677F\"\r\n [class.invisible]=\"view === 'palettes'\" (click)=\"goToPalettesView()\">\r\n <mat-icon svgIcon=\"mat_outline:arrow_back\"></mat-icon>\r\n </button>\r\n <span class=\"align-middle leading-loose text-xl font-bold\">{{title}}</span>\r\n <button type=\"button\" mat-icon-button class=\"remove-color-button secondary-text\" aria-label=\"\u79FB\u9664\u989C\u8272\"\r\n matTooltip=\"\u79FB\u9664\u989C\u8272\" (click)=\"removeColor()\">\r\n <mat-icon color=\"warn\" [svgIcon]=\"'mat_outline:cleaning_services'\"></mat-icon>\r\n </button>\r\n </header>\r\n\r\n <div class=\"flex flex-wrap w-60 m-2\">\r\n <mat-option value=\"init\" class=\"hidden\">\u521D\u59CB\u5316</mat-option>\r\n <div>\r\n @switch (view) {\r\n @case ('palettes') {\r\n <div>\r\n <div class=\"flex flex-row flex-wrap justify-start content-start colors\">\r\n @for (palette of palettes; track $index) {\r\n <div role=\"presentation\"\r\n class=\"cursor-pointer\" (click)=\"selectPalette(palette)\">\r\n <mat-option\r\n class=\"relative flex w-12 h-12 p-0 pointer-events-none rounded-full bg-transparent hover:opacity-50\"\r\n [value]=\"selectedPalette\">\r\n @if (selectedColor.color===palette + '-' + selectedHue) {\r\n <mat-icon class=\"absolute m-3 text-white\"\r\n [svgIcon]=\"'heroicons_outline:check'\"></mat-icon>\r\n }\r\n <span class=\"flex w-10 h-10 m-1 rounded-full\"\r\n [ngClass]=\"palette + '-' + selectedHue\"></span>\r\n </mat-option>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @case ('hues') {\r\n <div>\r\n <div class=\"flex flex-row flex-wrap justify-start content-start colors\">\r\n @for (hue of hues; track $index) {\r\n <div role=\"presentation\" class=\"cursor-pointer\"\r\n (click)=\"selectHue(hue)\">\r\n <mat-option\r\n class=\"relative flex w-12 h-12 p-0 pointer-events-none rounded-full bg-transparent hover:opacity-50\"\r\n [value]=\"selectedHue\">\r\n @if (selectedColor.color===selectedPalette + '-' + hue) {\r\n <mat-icon class=\"absolute m-3 text-white\"\r\n [svgIcon]=\"'heroicons_outline:check'\"></mat-icon>\r\n }\r\n <span class=\"flex w-10 h-10 m-1 rounded-full\"\r\n [ngClass]=\"selectedPalette + '-' + hue\"></span>\r\n </mat-option>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </mat-select>\r\n</div>", styles: ["cmat-material-color-picker .mat-mdc-select-arrow-wrapper{display:none!important}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i1.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], animations: cmatAnimations, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
134
- }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatMaterialColorPickerComponent, decorators: [{
136
- type: Component,
137
- args: [{ selector: 'cmat-material-color-picker', animations: cmatAnimations, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatMaterialColorPicker', providers: [CMAT_MATERIAL_COLOR_PICKER_VALUE_ACCESSOR], standalone: true, imports: [NgClass, MatSelectModule, MatIconModule, MatButtonModule, MatTooltipModule], template: "<div class=\"rounded\" [ngClass]=\"selectedColor.color\">\r\n <mat-select value=\"init\" panelClass=\"min-w-64\" [disableOptionCentering]=\"true\" [hideSingleSelectionIndicator]=\"true\"\r\n [disabled]=\"readonly\" (openedChange)=\"onMenuOpen($event)\">\r\n <mat-select-trigger class=\"flex p-1\">\r\n <mat-icon [svgIcon]=\"'heroicons_outline:paint-brush'\"></mat-icon>\r\n </mat-select-trigger>\r\n\r\n <header class=\"shadow flex flex-row content-between justify-between p-2\" [ngClass]=\"'accent'\">\r\n <button type=\"button\" mat-icon-button class=\"secondary-text\" aria-label=\"\u8C03\u8272\u677F\"\r\n [class.invisible]=\"view === 'palettes'\" (click)=\"goToPalettesView()\">\r\n <mat-icon svgIcon=\"mat_outline:arrow_back\"></mat-icon>\r\n </button>\r\n <span class=\"align-middle leading-loose text-xl font-bold\">{{title}}</span>\r\n <button type=\"button\" mat-icon-button class=\"remove-color-button secondary-text\" aria-label=\"\u79FB\u9664\u989C\u8272\"\r\n matTooltip=\"\u79FB\u9664\u989C\u8272\" (click)=\"removeColor()\">\r\n <mat-icon color=\"warn\" [svgIcon]=\"'mat_outline:cleaning_services'\"></mat-icon>\r\n </button>\r\n </header>\r\n\r\n <div class=\"flex flex-wrap w-60 m-2\">\r\n <mat-option value=\"init\" class=\"hidden\">\u521D\u59CB\u5316</mat-option>\r\n <div>\r\n @switch (view) {\r\n @case ('palettes') {\r\n <div>\r\n <div class=\"flex flex-row flex-wrap justify-start content-start colors\">\r\n @for (palette of palettes; track $index) {\r\n <div role=\"presentation\"\r\n class=\"cursor-pointer\" (click)=\"selectPalette(palette)\">\r\n <mat-option\r\n class=\"relative flex w-12 h-12 p-0 pointer-events-none rounded-full bg-transparent hover:opacity-50\"\r\n [value]=\"selectedPalette\">\r\n @if (selectedColor.color===palette + '-' + selectedHue) {\r\n <mat-icon class=\"absolute m-3 text-white\"\r\n [svgIcon]=\"'heroicons_outline:check'\"></mat-icon>\r\n }\r\n <span class=\"flex w-10 h-10 m-1 rounded-full\"\r\n [ngClass]=\"palette + '-' + selectedHue\"></span>\r\n </mat-option>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n @case ('hues') {\r\n <div>\r\n <div class=\"flex flex-row flex-wrap justify-start content-start colors\">\r\n @for (hue of hues; track $index) {\r\n <div role=\"presentation\" class=\"cursor-pointer\"\r\n (click)=\"selectHue(hue)\">\r\n <mat-option\r\n class=\"relative flex w-12 h-12 p-0 pointer-events-none rounded-full bg-transparent hover:opacity-50\"\r\n [value]=\"selectedHue\">\r\n @if (selectedColor.color===selectedPalette + '-' + hue) {\r\n <mat-icon class=\"absolute m-3 text-white\"\r\n [svgIcon]=\"'heroicons_outline:check'\"></mat-icon>\r\n }\r\n <span class=\"flex w-10 h-10 m-1 rounded-full\"\r\n [ngClass]=\"selectedPalette + '-' + hue\"></span>\r\n </mat-option>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n }\r\n </div>\r\n </div>\r\n </mat-select>\r\n</div>", styles: ["cmat-material-color-picker .mat-mdc-select-arrow-wrapper{display:none!important}\n"] }]
138
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { colorChanged: [{
139
- type: Output
140
- }], color: [{
141
- type: Input
142
- }], title: [{
143
- type: Input
144
- }], readonly: [{
145
- type: Input
146
- }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9tYXRlcmlhbC1jb2xvci1waWNrZXIvbWF0ZXJpYWwtY29sb3ItcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9tYXRlcmlhbC1jb2xvci1waWNrZXIvbWF0ZXJpYWwtY29sb3ItcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEosT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBRzFDLE1BQU0sQ0FBQyxNQUFNLHlDQUF5QyxHQUFRO0lBQzFELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztJQUMvRCxLQUFLLEVBQUUsSUFBSTtDQUNk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QUFtQjtRQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQWU7UUFDdEIsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDOzhHQXJLUSxnQ0FBZ0M7a0dBQWhDLGdDQUFnQyxzTEFKOUIsQ0FBQyx5Q0FBeUMsQ0FBQyxpRUMxQjFELG9tSEFxRU0sNElEekNRLE9BQU8sbUZBQUUsZUFBZSxxd0JBQUUsYUFBYSxtTEFBRSxlQUFlLDJJQUFFLGdCQUFnQiwrU0FOeEUsY0FBYzs7MkZBUWpCLGdDQUFnQztrQkFaNUMsU0FBUzsrQkFDSSw0QkFBNEIsY0FHMUIsY0FBYyxpQkFDWCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLHlCQUF5QixhQUN4QixDQUFDLHlDQUF5QyxDQUFDLGNBQzFDLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQztzRkFLckYsWUFBWTtzQkFEWCxNQUFNO2dCQXVDSCxLQUFLO3NCQURSLEtBQUs7Z0JBNEJGLEtBQUs7c0JBRFIsS0FBSztnQkFXRixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgY21hdEFuaW1hdGlvbnMgfSBmcm9tICdjbWF0L2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBiYXNlQ29sb3JzIH0gZnJvbSAnLi9iYXNlLWNvbG9yJztcclxuaW1wb3J0IHsgQ21hdFNlbGVjdGVkQ29sb3IgfSBmcm9tICcuL3NlbGVjdGVkLWNvbG9yJztcclxuXHJcbmV4cG9ydCBjb25zdCBDTUFUX01BVEVSSUFMX0NPTE9SX1BJQ0tFUl9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDbWF0TWF0ZXJpYWxDb2xvclBpY2tlckNvbXBvbmVudCksXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG59O1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjbWF0LW1hdGVyaWFsLWNvbG9yLXBpY2tlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWF0ZXJpYWwtY29sb3ItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL21hdGVyaWFsLWNvbG9yLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgYW5pbWF0aW9uczogY21hdEFuaW1hdGlvbnMsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBleHBvcnRBczogJ2NtYXRNYXRlcmlhbENvbG9yUGlja2VyJyxcclxuICAgIHByb3ZpZGVyczogW0NNQVRfTUFURVJJQUxfQ09MT1JfUElDS0VSX1ZBTFVFX0FDQ0VTU09SXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgTWF0U2VsZWN0TW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0TWF0ZXJpYWxDb2xvclBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICAgIC8vIENvbG9yIGNoYW5nZWRcclxuICAgIEBPdXRwdXQoKVxyXG4gICAgY29sb3JDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICBwYWxldHRlczogc3RyaW5nW107XHJcbiAgICBodWVzOiBzdHJpbmdbXTtcclxuICAgIHZpZXc6IHN0cmluZztcclxuICAgIHNlbGVjdGVkQ29sb3I6IENtYXRTZWxlY3RlZENvbG9yO1xyXG4gICAgc2VsZWN0ZWRQYWxldHRlOiBzdHJpbmc7XHJcbiAgICBzZWxlY3RlZEh1ZTogc3RyaW5nO1xyXG5cclxuICAgIC8vIFByaXZhdGVcclxuICAgIHByaXZhdGUgX2NvbG9yOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIF90aXRsZTogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBfcmVhZG9ubHk6Ym9vbGVhbjtcclxuICAgIHByaXZhdGUgX21vZGVsQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgX21vZGVsVG91Y2hlZDogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgLy8gU2V0IHRoZSBkZWZhdWx0c1xyXG4gICAgICAgIHRoaXMuY29sb3JDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgICAgIHRoaXMucGFsZXR0ZXMgPSBiYXNlQ29sb3JzO1xyXG4gICAgICAgIHRoaXMuaHVlcyA9IFsnNTAnLCAnMTAwJywgJzIwMCcsICczMDAnLCAnNDAwJywgJzUwMCcsICc2MDAnLCAnNzAwJywgJzgwMCcsICc5MDAnXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSHVlID0gJzUwMCc7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFBhbGV0dGUgPSAnYmctaW5kaWdvJztcclxuICAgICAgICB0aGlzLnZpZXcgPSAncGFsZXR0ZXMnO1xyXG5cclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgICAgICAgdGhpcy5fbW9kZWxDaGFuZ2UgPSAoKTogYW55ID0+IHsgfTtcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgICAgICAgdGhpcy5fbW9kZWxUb3VjaGVkID0gKCk6IGFueSA9PiB7IH07XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRDb2xvcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb2xvcigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGNvbG9yKHZhbHVlKSB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZSA9PT0gJycgfHwgdGhpcy5fY29sb3IgPT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFNwbGl0IHRoZSBjb2xvciB2YWx1ZSAoYmctcmVkLTQwMCwgYmctYmx1ZS01MDAgZXRjLilcclxuICAgICAgICBjb25zdCBjb2xvclBhcnRzID0gdmFsdWUuc3BsaXQoJy0nKTtcclxuXHJcbiAgICAgICAgLy8gVGFrZSB0aGUgdmVyeSBsYXN0IHBhcnQgYXMgdGhlIHNlbGVjdGVkIGh1ZSB2YWx1ZVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRIdWUgPSBjb2xvclBhcnRzW2NvbG9yUGFydHMubGVuZ3RoIC0gMV07XHJcblxyXG4gICAgICAgIC8vIFJlbW92ZSB0aGUgbGFzdCBwYXJ0XHJcbiAgICAgICAgY29sb3JQYXJ0cy5wb3AoKTtcclxuXHJcbiAgICAgICAgLy8gUmVqb2luIHRoZSByZW1haW5pbmcgcGFydHMgYXMgdGhlIHNlbGVjdGVkIHBhbGV0dGUgbmFtZVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRQYWxldHRlID0gY29sb3JQYXJ0cy5qb2luKCctJyk7XHJcblxyXG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgc2VsZWN0ZWQgY29sb3JcclxuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkQ29sb3IoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xyXG4gICAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RpdGxlO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgdGl0bGUodmFsdWUpIHtcclxuICAgICAgICB0aGlzLl90aXRsZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXHJcbiAgICBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgcmVhZG9ubHkodmFsdWUpIHtcclxuICAgICAgICB0aGlzLl9yZWFkb25seSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgXHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbW9kZWxDaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbW9kZWxUb3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShjb2xvcjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgLy8gUmV0dXJuIGlmIG51bGxcclxuICAgICAgICBpZiAoIWNvbG9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFNldCB0aGUgY29sb3JcclxuICAgICAgICB0aGlzLmNvbG9yID0gY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0UGFsZXR0ZShwYWxldHRlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICAvLyBHbyB0byAnaHVlcycgdmlld1xyXG4gICAgICAgIHRoaXMudmlldyA9ICdodWVzJztcclxuXHJcbiAgICAgICAgLy8gVXBkYXRlIHRoZSBzZWxlY3RlZCBwYWxldHRlXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFBhbGV0dGUgPSBwYWxldHRlO1xyXG5cclxuICAgICAgICAvLyBVcGRhdGUgdGhlIHNlbGVjdGVkIGNvbG9yXHJcbiAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZENvbG9yKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0SHVlKGh1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgLy8gVXBkYXRlIHRoZSBzZWxlY3RlZCBodWVcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSHVlID0gaHVlO1xyXG5cclxuICAgICAgICAvLyBVcGRhdGUgdGhlIHNlbGVjdGVkIGNvbG9yXHJcbiAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZENvbG9yKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlQ29sb3IoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gUmV0dXJuIHRvIHRoZSAncGFsZXR0ZXMnIHZpZXdcclxuICAgICAgICB0aGlzLnZpZXcgPSAncGFsZXR0ZXMnO1xyXG5cclxuICAgICAgICAvLyBDbGVhciB0aGUgc2VsZWN0ZWQgcGFsZXR0ZSBhbmQgaHVlXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFBhbGV0dGUgPSAnYmctaW5kaWdvJztcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSHVlID0gJzUwMCc7XHJcblxyXG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgc2VsZWN0ZWQgY29sb3JcclxuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkQ29sb3IoKTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVTZWxlY3RlZENvbG9yKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sb3IgJiYgdGhpcy5zZWxlY3RlZENvbG9yLnBhbGV0dGUgPT09IHRoaXMuc2VsZWN0ZWRQYWxldHRlICYmIHRoaXMuc2VsZWN0ZWRDb2xvci5odWUgPT09IHRoaXMuc2VsZWN0ZWRIdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gU2V0IHRoZSBzZWxlY3RlZCBjb2xvciBvYmplY3RcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sb3IgPSB7XHJcbiAgICAgICAgICAgIHBhbGV0dGU6IHRoaXMuc2VsZWN0ZWRQYWxldHRlLFxyXG4gICAgICAgICAgICBodWU6IHRoaXMuc2VsZWN0ZWRIdWUsXHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGlzLnNlbGVjdGVkUGFsZXR0ZSArICctJyArIHRoaXMuc2VsZWN0ZWRIdWVcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLl9jb2xvciA9IHRoaXMuc2VsZWN0ZWRDb2xvci5jb2xvcjtcclxuXHJcbiAgICAgICAgdGhpcy5jb2xvckNoYW5nZWQuZW1pdCh0aGlzLnNlbGVjdGVkQ29sb3IpO1xyXG5cclxuICAgICAgICAvLyBNYXJrIHRoZSBtb2RlbCBhcyB0b3VjaGVkXHJcbiAgICAgICAgdGhpcy5fbW9kZWxUb3VjaGVkKHRoaXMuc2VsZWN0ZWRDb2xvci5jb2xvcik7XHJcblxyXG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgbW9kZWxcclxuICAgICAgICB0aGlzLl9tb2RlbENoYW5nZSh0aGlzLnNlbGVjdGVkQ29sb3IuY29sb3IpO1xyXG5cclxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuXHJcbiAgICBnb1RvUGFsZXR0ZXNWaWV3KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmlldyA9ICdwYWxldHRlcyc7XHJcbiAgICB9XHJcblxyXG4gICAgb25NZW51T3BlbihvcGVuZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICBpZiAob3BlbmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlldyA9ICdodWVzJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvdW5kZWRcIiBbbmdDbGFzc109XCJzZWxlY3RlZENvbG9yLmNvbG9yXCI+XHJcbiAgPG1hdC1zZWxlY3QgdmFsdWU9XCJpbml0XCIgcGFuZWxDbGFzcz1cIm1pbi13LTY0XCIgW2Rpc2FibGVPcHRpb25DZW50ZXJpbmddPVwidHJ1ZVwiIFtoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yXT1cInRydWVcIlxyXG4gICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgKG9wZW5lZENoYW5nZSk9XCJvbk1lbnVPcGVuKCRldmVudClcIj5cclxuICAgIDxtYXQtc2VsZWN0LXRyaWdnZXIgY2xhc3M9XCJmbGV4IHAtMVwiPlxyXG4gICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19vdXRsaW5lOnBhaW50LWJydXNoJ1wiPjwvbWF0LWljb24+XHJcbiAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cclxuXHJcbiAgICA8aGVhZGVyIGNsYXNzPVwic2hhZG93IGZsZXggZmxleC1yb3cgY29udGVudC1iZXR3ZWVuIGp1c3RpZnktYmV0d2VlbiBwLTJcIiBbbmdDbGFzc109XCInYWNjZW50J1wiPlxyXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJzZWNvbmRhcnktdGV4dFwiIGFyaWEtbGFiZWw9XCLosIPoibLmnb9cIlxyXG4gICAgICAgIFtjbGFzcy5pbnZpc2libGVdPVwidmlldyA9PT0gJ3BhbGV0dGVzJ1wiIChjbGljayk9XCJnb1RvUGFsZXR0ZXNWaWV3KClcIj5cclxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm1hdF9vdXRsaW5lOmFycm93X2JhY2tcIj48L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJhbGlnbi1taWRkbGUgbGVhZGluZy1sb29zZSB0ZXh0LXhsIGZvbnQtYm9sZFwiPnt7dGl0bGV9fTwvc3Bhbj5cclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwicmVtb3ZlLWNvbG9yLWJ1dHRvbiBzZWNvbmRhcnktdGV4dFwiIGFyaWEtbGFiZWw9XCLnp7vpmaTpopzoibJcIlxyXG4gICAgICAgIG1hdFRvb2x0aXA9XCLnp7vpmaTpopzoibJcIiAoY2xpY2spPVwicmVtb3ZlQ29sb3IoKVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjb2xvcj1cIndhcm5cIiBbc3ZnSWNvbl09XCInbWF0X291dGxpbmU6Y2xlYW5pbmdfc2VydmljZXMnXCI+PC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2hlYWRlcj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgdy02MCBtLTJcIj5cclxuICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJpbml0XCIgY2xhc3M9XCJoaWRkZW5cIj7liJ3lp4vljJY8L21hdC1vcHRpb24+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgQHN3aXRjaCAodmlldykge1xyXG4gICAgICAgICAgQGNhc2UgKCdwYWxldHRlcycpIHtcclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBmbGV4LXdyYXAganVzdGlmeS1zdGFydCBjb250ZW50LXN0YXJ0IGNvbG9yc1wiPlxyXG4gICAgICAgICAgICAgICAgQGZvciAocGFsZXR0ZSBvZiBwYWxldHRlczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgcm9sZT1cInByZXNlbnRhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzZWxlY3RQYWxldHRlKHBhbGV0dGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicmVsYXRpdmUgZmxleCB3LTEyIGgtMTIgcC0wIHBvaW50ZXItZXZlbnRzLW5vbmUgcm91bmRlZC1mdWxsIGJnLXRyYW5zcGFyZW50IGhvdmVyOm9wYWNpdHktNTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkUGFsZXR0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChzZWxlY3RlZENvbG9yLmNvbG9yPT09cGFsZXR0ZSArICctJyArIHNlbGVjdGVkSHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFic29sdXRlIG0tMyB0ZXh0LXdoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19vdXRsaW5lOmNoZWNrJ1wiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsZXggdy0xMCBoLTEwIG0tMSByb3VuZGVkLWZ1bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwicGFsZXR0ZSArICctJyArIHNlbGVjdGVkSHVlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGNhc2UgKCdodWVzJykge1xyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBqdXN0aWZ5LXN0YXJ0IGNvbnRlbnQtc3RhcnQgY29sb3JzXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChodWUgb2YgaHVlczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgcm9sZT1cInByZXNlbnRhdGlvblwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RIdWUoaHVlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInJlbGF0aXZlIGZsZXggdy0xMiBoLTEyIHAtMCBwb2ludGVyLWV2ZW50cy1ub25lIHJvdW5kZWQtZnVsbCBiZy10cmFuc3BhcmVudCBob3ZlcjpvcGFjaXR5LTUwXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZEh1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChzZWxlY3RlZENvbG9yLmNvbG9yPT09c2VsZWN0ZWRQYWxldHRlICsgJy0nICsgaHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFic29sdXRlIG0tMyB0ZXh0LXdoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwiJ2hlcm9pY29uc19vdXRsaW5lOmNoZWNrJ1wiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsZXggdy0xMCBoLTEwIG0tMSByb3VuZGVkLWZ1bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRQYWxldHRlICsgJy0nICsgaHVlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1zZWxlY3Q+XHJcbjwvZGl2PiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './material-color-picker.component';
2
- export * from './selected-color';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9tYXRlcmlhbC1jb2xvci1waWNrZXIvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21hdGVyaWFsLWNvbG9yLXBpY2tlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGVkLWNvbG9yJztcclxuIl19
@@ -1,3 +0,0 @@
1
- export class CmatSelectedColor {
2
- }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvbWF0ZXJpYWwtY29sb3ItcGlja2VyL3NlbGVjdGVkLWNvbG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxpQkFBaUI7Q0FJN0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQ21hdFNlbGVjdGVkQ29sb3Ige1xyXG4gICAgcGFsZXR0ZTogc3RyaW5nO1xyXG4gICAgaHVlOiBzdHJpbmc7XHJcbiAgICBjb2xvcjogc3RyaW5nO1xyXG59XHJcbiJdfQ==