@cleavelandprice/ngx-lib 4.4.13 → 4.4.15

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 (360) hide show
  1. package/README.md +5 -5
  2. package/active-directory/index.d.ts +120 -5
  3. package/active-directory/material/index.d.ts +161 -5
  4. package/authentication/index.d.ts +57 -5
  5. package/authentication/material/index.d.ts +81 -5
  6. package/authentication/object/index.d.ts +37 -5
  7. package/authentication/token/index.d.ts +60 -5
  8. package/dialog/index.d.ts +106 -5
  9. package/fesm2022/cleavelandprice-ngx-lib-active-directory-material.mjs +17 -17
  10. package/fesm2022/cleavelandprice-ngx-lib-active-directory-material.mjs.map +1 -1
  11. package/fesm2022/cleavelandprice-ngx-lib-active-directory.mjs +8 -8
  12. package/fesm2022/cleavelandprice-ngx-lib-active-directory.mjs.map +1 -1
  13. package/fesm2022/cleavelandprice-ngx-lib-authentication-material.mjs +18 -18
  14. package/fesm2022/cleavelandprice-ngx-lib-authentication-material.mjs.map +1 -1
  15. package/fesm2022/cleavelandprice-ngx-lib-authentication-object.mjs +8 -8
  16. package/fesm2022/cleavelandprice-ngx-lib-authentication-object.mjs.map +1 -1
  17. package/fesm2022/cleavelandprice-ngx-lib-authentication-token.mjs +8 -8
  18. package/fesm2022/cleavelandprice-ngx-lib-authentication-token.mjs.map +1 -1
  19. package/fesm2022/cleavelandprice-ngx-lib-authentication.mjs +5 -5
  20. package/fesm2022/cleavelandprice-ngx-lib-authentication.mjs.map +1 -1
  21. package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs +27 -27
  22. package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs.map +1 -1
  23. package/fesm2022/cleavelandprice-ngx-lib-msgraph.mjs +5 -5
  24. package/fesm2022/cleavelandprice-ngx-lib-msgraph.mjs.map +1 -1
  25. package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs +12 -12
  26. package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs.map +1 -1
  27. package/fesm2022/cleavelandprice-ngx-lib-quill.mjs +32 -32
  28. package/fesm2022/cleavelandprice-ngx-lib-quill.mjs.map +1 -1
  29. package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs +18 -18
  30. package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -1
  31. package/fesm2022/cleavelandprice-ngx-lib-table.mjs +54 -29
  32. package/fesm2022/cleavelandprice-ngx-lib-table.mjs.map +1 -1
  33. package/fesm2022/cleavelandprice-ngx-lib-upload.mjs +15 -15
  34. package/fesm2022/cleavelandprice-ngx-lib-upload.mjs.map +1 -1
  35. package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs +13 -13
  36. package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs.map +1 -1
  37. package/fesm2022/cleavelandprice-ngx-lib.mjs +8 -8
  38. package/fesm2022/cleavelandprice-ngx-lib.mjs.map +1 -1
  39. package/index.d.ts +91 -5
  40. package/msgraph/index.d.ts +211 -5
  41. package/package.json +3 -33
  42. package/quill/index.d.ts +200 -5
  43. package/quill/mention/index.d.ts +33 -5
  44. package/sharepoint/index.d.ts +138 -5
  45. package/table/index.d.ts +146 -5
  46. package/upload/index.d.ts +135 -5
  47. package/url-utilities/index.d.ts +35 -5
  48. package/active-directory/active-directory.api.d.ts +0 -10
  49. package/active-directory/active-directory.module.d.ts +0 -11
  50. package/active-directory/material/components/user-chooser/user-chooser.component.d.ts +0 -58
  51. package/active-directory/material/components/user-form-field/user-form-field.component.d.ts +0 -27
  52. package/active-directory/material/mat-active-directory.api.d.ts +0 -10
  53. package/active-directory/material/mat-active-directory.module.d.ts +0 -25
  54. package/active-directory/material/model/default-user-chooser-data.d.ts +0 -2
  55. package/active-directory/material/model/default-user-chooser-filter-options.d.ts +0 -2
  56. package/active-directory/material/model/selectable-group.d.ts +0 -4
  57. package/active-directory/material/model/selectable-user.d.ts +0 -5
  58. package/active-directory/material/model/user-chooser-data.d.ts +0 -25
  59. package/active-directory/material/model/user-chooser-filter-options.d.ts +0 -7
  60. package/active-directory/material/model/user-chooser-mode.d.ts +0 -4
  61. package/active-directory/material/model/user-chooser-pre-processing-group.d.ts +0 -6
  62. package/active-directory/model/active-directory-service-options-token.d.ts +0 -3
  63. package/active-directory/model/active-directory-service-options.d.ts +0 -5
  64. package/active-directory/model/ad-object-with-children.d.ts +0 -4
  65. package/active-directory/model/ad-object.d.ts +0 -13
  66. package/active-directory/model/cache-object.d.ts +0 -5
  67. package/active-directory/model/cleaveland-price-user.d.ts +0 -19
  68. package/active-directory/model/group.d.ts +0 -7
  69. package/active-directory/model/user-or-group.d.ts +0 -7
  70. package/active-directory/model/user.d.ts +0 -23
  71. package/active-directory/services/active-directory.service.d.ts +0 -31
  72. package/authentication/authentication.api.d.ts +0 -6
  73. package/authentication/authentication.base.module.d.ts +0 -11
  74. package/authentication/material/components/login/login.component.d.ts +0 -14
  75. package/authentication/material/components/login-form/login-form.component.d.ts +0 -27
  76. package/authentication/material/mat-authentication.api.d.ts +0 -7
  77. package/authentication/material/mat-authentication.module.d.ts +0 -21
  78. package/authentication/material/model/login-form-data.d.ts +0 -4
  79. package/authentication/material/model/mat-authentication-service-options-token.d.ts +0 -3
  80. package/authentication/material/model/mat-authentication-service-options.d.ts +0 -4
  81. package/authentication/material/services/mat-authentication.service.d.ts +0 -11
  82. package/authentication/model/abstract-authentication-service.d.ts +0 -16
  83. package/authentication/model/authenticated-user.d.ts +0 -9
  84. package/authentication/model/authentication-request.d.ts +0 -8
  85. package/authentication/model/authentication-service-options-token.d.ts +0 -3
  86. package/authentication/model/authentication-service-options.d.ts +0 -6
  87. package/authentication/object/authentication-object.api.d.ts +0 -3
  88. package/authentication/object/authentication-object.module.d.ts +0 -11
  89. package/authentication/object/services/authentication-object.service.d.ts +0 -24
  90. package/authentication/token/authentication-token.api.d.ts +0 -5
  91. package/authentication/token/authetiction-token.module.d.ts +0 -11
  92. package/authentication/token/model/authentication-token-service-options-token.d.ts +0 -3
  93. package/authentication/token/model/authentication-token-service-options.d.ts +0 -4
  94. package/authentication/token/model/authentication-token.d.ts +0 -17
  95. package/authentication/token/services/authentication-token.service.d.ts +0 -24
  96. package/dialog/components/base/base.component.d.ts +0 -23
  97. package/dialog/components/choice/choice.component.d.ts +0 -13
  98. package/dialog/components/confirmation/confirmation.component.d.ts +0 -13
  99. package/dialog/components/input/input.component.d.ts +0 -13
  100. package/dialog/components/message/message.component.d.ts +0 -13
  101. package/dialog/dialog.api.d.ts +0 -9
  102. package/dialog/dialog.module.d.ts +0 -18
  103. package/dialog/model/confirmation-dialog-mode.d.ts +0 -6
  104. package/dialog/model/dialog-base-data.d.ts +0 -10
  105. package/dialog/model/dialog-choice-data.d.ts +0 -4
  106. package/dialog/model/dialog-type.d.ts +0 -6
  107. package/esm2022/active-directory/active-directory.api.mjs +0 -11
  108. package/esm2022/active-directory/active-directory.module.mjs +0 -40
  109. package/esm2022/active-directory/cleavelandprice-ngx-lib-active-directory.mjs +0 -5
  110. package/esm2022/active-directory/material/cleavelandprice-ngx-lib-active-directory-material.mjs +0 -5
  111. package/esm2022/active-directory/material/components/user-chooser/user-chooser.component.mjs +0 -437
  112. package/esm2022/active-directory/material/components/user-form-field/user-form-field.component.mjs +0 -159
  113. package/esm2022/active-directory/material/mat-active-directory.api.mjs +0 -11
  114. package/esm2022/active-directory/material/mat-active-directory.module.mjs +0 -100
  115. package/esm2022/active-directory/material/model/default-user-chooser-data.mjs +0 -15
  116. package/esm2022/active-directory/material/model/default-user-chooser-filter-options.mjs +0 -8
  117. package/esm2022/active-directory/material/model/selectable-group.mjs +0 -2
  118. package/esm2022/active-directory/material/model/selectable-user.mjs +0 -2
  119. package/esm2022/active-directory/material/model/user-chooser-data.mjs +0 -2
  120. package/esm2022/active-directory/material/model/user-chooser-filter-options.mjs +0 -3
  121. package/esm2022/active-directory/material/model/user-chooser-mode.mjs +0 -6
  122. package/esm2022/active-directory/material/model/user-chooser-pre-processing-group.mjs +0 -3
  123. package/esm2022/active-directory/model/active-directory-service-options-token.mjs +0 -3
  124. package/esm2022/active-directory/model/active-directory-service-options.mjs +0 -2
  125. package/esm2022/active-directory/model/ad-object-with-children.mjs +0 -2
  126. package/esm2022/active-directory/model/ad-object.mjs +0 -2
  127. package/esm2022/active-directory/model/cache-object.mjs +0 -3
  128. package/esm2022/active-directory/model/cleaveland-price-user.mjs +0 -2
  129. package/esm2022/active-directory/model/group.mjs +0 -2
  130. package/esm2022/active-directory/model/user-or-group.mjs +0 -2
  131. package/esm2022/active-directory/model/user.mjs +0 -2
  132. package/esm2022/active-directory/services/active-directory.service.mjs +0 -131
  133. package/esm2022/authentication/authentication.api.mjs +0 -7
  134. package/esm2022/authentication/authentication.base.module.mjs +0 -40
  135. package/esm2022/authentication/cleavelandprice-ngx-lib-authentication.mjs +0 -5
  136. package/esm2022/authentication/material/cleavelandprice-ngx-lib-authentication-material.mjs +0 -5
  137. package/esm2022/authentication/material/components/login/login.component.mjs +0 -49
  138. package/esm2022/authentication/material/components/login-form/login-form.component.mjs +0 -82
  139. package/esm2022/authentication/material/mat-authentication.api.mjs +0 -8
  140. package/esm2022/authentication/material/mat-authentication.module.mjs +0 -84
  141. package/esm2022/authentication/material/model/login-form-data.mjs +0 -2
  142. package/esm2022/authentication/material/model/mat-authentication-service-options-token.mjs +0 -3
  143. package/esm2022/authentication/material/model/mat-authentication-service-options.mjs +0 -2
  144. package/esm2022/authentication/material/services/mat-authentication.service.mjs +0 -67
  145. package/esm2022/authentication/model/abstract-authentication-service.mjs +0 -2
  146. package/esm2022/authentication/model/authenticated-user.mjs +0 -2
  147. package/esm2022/authentication/model/authentication-request.mjs +0 -2
  148. package/esm2022/authentication/model/authentication-service-options-token.mjs +0 -3
  149. package/esm2022/authentication/model/authentication-service-options.mjs +0 -2
  150. package/esm2022/authentication/object/authentication-object.api.mjs +0 -6
  151. package/esm2022/authentication/object/authentication-object.module.mjs +0 -40
  152. package/esm2022/authentication/object/cleavelandprice-ngx-lib-authentication-object.mjs +0 -5
  153. package/esm2022/authentication/object/services/authentication-object.service.mjs +0 -129
  154. package/esm2022/authentication/token/authentication-token.api.mjs +0 -6
  155. package/esm2022/authentication/token/authetiction-token.module.mjs +0 -40
  156. package/esm2022/authentication/token/cleavelandprice-ngx-lib-authentication-token.mjs +0 -5
  157. package/esm2022/authentication/token/model/authentication-token-service-options-token.mjs +0 -3
  158. package/esm2022/authentication/token/model/authentication-token-service-options.mjs +0 -2
  159. package/esm2022/authentication/token/model/authentication-token.mjs +0 -2
  160. package/esm2022/authentication/token/services/authentication-token.service.mjs +0 -138
  161. package/esm2022/cleavelandprice-ngx-lib.mjs +0 -5
  162. package/esm2022/dialog/cleavelandprice-ngx-lib-dialog.mjs +0 -5
  163. package/esm2022/dialog/components/base/base.component.mjs +0 -102
  164. package/esm2022/dialog/components/choice/choice.component.mjs +0 -21
  165. package/esm2022/dialog/components/confirmation/confirmation.component.mjs +0 -21
  166. package/esm2022/dialog/components/input/input.component.mjs +0 -21
  167. package/esm2022/dialog/components/message/message.component.mjs +0 -21
  168. package/esm2022/dialog/dialog.api.mjs +0 -20
  169. package/esm2022/dialog/dialog.module.mjs +0 -73
  170. package/esm2022/dialog/model/confirmation-dialog-mode.mjs +0 -8
  171. package/esm2022/dialog/model/dialog-base-data.mjs +0 -2
  172. package/esm2022/dialog/model/dialog-choice-data.mjs +0 -2
  173. package/esm2022/dialog/model/dialog-type.mjs +0 -8
  174. package/esm2022/lib/model/app-path-config.mjs +0 -2
  175. package/esm2022/lib/model/app-type.mjs +0 -2
  176. package/esm2022/lib/model/app.mjs +0 -2
  177. package/esm2022/lib/model/caching-config.mjs +0 -2
  178. package/esm2022/lib/model/credentials.mjs +0 -2
  179. package/esm2022/lib/model/logging-config.mjs +0 -2
  180. package/esm2022/lib/model/service-options-token.mjs +0 -3
  181. package/esm2022/lib/model/service-options.mjs +0 -2
  182. package/esm2022/lib/ngx-lib.module.mjs +0 -37
  183. package/esm2022/lib/services/app-path-config.service.mjs +0 -50
  184. package/esm2022/lib/services/service-base.mjs +0 -26
  185. package/esm2022/msgraph/cleavelandprice-ngx-lib-msgraph.mjs +0 -5
  186. package/esm2022/msgraph/model/address.mjs +0 -2
  187. package/esm2022/msgraph/model/attendee.mjs +0 -2
  188. package/esm2022/msgraph/model/bulk-calendar-events.mjs +0 -2
  189. package/esm2022/msgraph/model/bulk-calendar-request.mjs +0 -2
  190. package/esm2022/msgraph/model/calendar-event.mjs +0 -2
  191. package/esm2022/msgraph/model/coordinates.mjs +0 -2
  192. package/esm2022/msgraph/model/email-address.mjs +0 -2
  193. package/esm2022/msgraph/model/location.mjs +0 -2
  194. package/esm2022/msgraph/model/online-meeting-info.mjs +0 -2
  195. package/esm2022/msgraph/model/patterned-recurrence.mjs +0 -2
  196. package/esm2022/msgraph/model/phone.mjs +0 -2
  197. package/esm2022/msgraph/model/recipient.mjs +0 -2
  198. package/esm2022/msgraph/model/recurrence-pattern.mjs +0 -2
  199. package/esm2022/msgraph/model/recurrence-range.mjs +0 -2
  200. package/esm2022/msgraph/model/response-status.mjs +0 -2
  201. package/esm2022/msgraph/model/room.mjs +0 -6
  202. package/esm2022/msgraph/model/user.mjs +0 -132
  203. package/esm2022/msgraph/msgraph.api.mjs +0 -19
  204. package/esm2022/msgraph/msgraph.module.mjs +0 -27
  205. package/esm2022/public_api.mjs +0 -15
  206. package/esm2022/quill/cleavelandprice-ngx-lib-quill.mjs +0 -5
  207. package/esm2022/quill/components/editor/editor.component.mjs +0 -282
  208. package/esm2022/quill/components/raw/raw.component.mjs +0 -30
  209. package/esm2022/quill/mention/cleavelandprice-ngx-lib-quill-mention.mjs +0 -5
  210. package/esm2022/quill/mention/components/editor/editor.component.mjs +0 -151
  211. package/esm2022/quill/mention/model/dialog-data.mjs +0 -2
  212. package/esm2022/quill/mention/quill-mention.api.mjs +0 -9
  213. package/esm2022/quill/mention/quill-mention.module.mjs +0 -65
  214. package/esm2022/quill/model/buttons.mjs +0 -3
  215. package/esm2022/quill/model/config.mjs +0 -3
  216. package/esm2022/quill/model/default-buttons.mjs +0 -50
  217. package/esm2022/quill/model/default-config.mjs +0 -28
  218. package/esm2022/quill/model/default-icons.mjs +0 -7
  219. package/esm2022/quill/model/default-tooltips.mjs +0 -53
  220. package/esm2022/quill/model/dialog-data.mjs +0 -2
  221. package/esm2022/quill/model/icons.mjs +0 -3
  222. package/esm2022/quill/model/tooltips.mjs +0 -3
  223. package/esm2022/quill/quill.api.mjs +0 -13
  224. package/esm2022/quill/quill.module.mjs +0 -75
  225. package/esm2022/sharepoint/cleavelandprice-ngx-lib-sharepoint.mjs +0 -5
  226. package/esm2022/sharepoint/components/user-photo/user-photo.component.mjs +0 -40
  227. package/esm2022/sharepoint/default-credentials.mjs +0 -6
  228. package/esm2022/sharepoint/model/base-item.mjs +0 -2
  229. package/esm2022/sharepoint/model/base-request-credential.mjs +0 -2
  230. package/esm2022/sharepoint/model/base-request.mjs +0 -2
  231. package/esm2022/sharepoint/model/cache-object.mjs +0 -3
  232. package/esm2022/sharepoint/model/file-request.mjs +0 -2
  233. package/esm2022/sharepoint/model/folder-request.mjs +0 -2
  234. package/esm2022/sharepoint/model/list-item.mjs +0 -2
  235. package/esm2022/sharepoint/model/list-items-request.mjs +0 -2
  236. package/esm2022/sharepoint/model/photo-item.mjs +0 -2
  237. package/esm2022/sharepoint/model/sharepoint-service-options.mjs +0 -3
  238. package/esm2022/sharepoint/model/uri-request.mjs +0 -2
  239. package/esm2022/sharepoint/model/user-request.mjs +0 -2
  240. package/esm2022/sharepoint/model/user.mjs +0 -2
  241. package/esm2022/sharepoint/pipes/user-photo-url.pipe.mjs +0 -37
  242. package/esm2022/sharepoint/services/sharepoint.service.mjs +0 -155
  243. package/esm2022/sharepoint/sharepoint.api.mjs +0 -17
  244. package/esm2022/sharepoint/sharepoint.module.mjs +0 -50
  245. package/esm2022/table/cleavelandprice-ngx-lib-table.mjs +0 -5
  246. package/esm2022/table/components/table/table.component.mjs +0 -141
  247. package/esm2022/table/model/table-column.mjs +0 -2
  248. package/esm2022/table/pipes/decimalPoints.mjs +0 -14
  249. package/esm2022/table/pipes/roundNumber.mjs +0 -14
  250. package/esm2022/table/table.api.mjs +0 -6
  251. package/esm2022/table/table.module.mjs +0 -78
  252. package/esm2022/upload/cleavelandprice-ngx-lib-upload.mjs +0 -5
  253. package/esm2022/upload/components/upload/upload.component.mjs +0 -32
  254. package/esm2022/upload/components/upload-dialog/upload-dialog.component.mjs +0 -98
  255. package/esm2022/upload/model/database-file-info.mjs +0 -2
  256. package/esm2022/upload/model/file-upload-request.mjs +0 -2
  257. package/esm2022/upload/model/filesystem-file-info.mjs +0 -2
  258. package/esm2022/upload/model/msg-file-content.mjs +0 -5
  259. package/esm2022/upload/model/upload-service-options-token.mjs +0 -3
  260. package/esm2022/upload/model/upload-service-options.mjs +0 -3
  261. package/esm2022/upload/model/upload-status.mjs +0 -2
  262. package/esm2022/upload/services/upload.service.mjs +0 -106
  263. package/esm2022/upload/upload.api.mjs +0 -11
  264. package/esm2022/upload/upload.module.mjs +0 -68
  265. package/esm2022/url-utilities/cleavelandprice-ngx-lib-url-utilities.mjs +0 -5
  266. package/esm2022/url-utilities/pipes/safe-resource-url.pipe.mjs +0 -19
  267. package/esm2022/url-utilities/pipes/safe-url.pipe.mjs +0 -19
  268. package/esm2022/url-utilities/pipes/uri-scheme.pipe.mjs +0 -106
  269. package/esm2022/url-utilities/url-utilities.api.mjs +0 -13
  270. package/esm2022/url-utilities/url-utilities.module.mjs +0 -34
  271. package/lib/model/app-path-config.d.ts +0 -10
  272. package/lib/model/app-type.d.ts +0 -5
  273. package/lib/model/app.d.ts +0 -16
  274. package/lib/model/caching-config.d.ts +0 -4
  275. package/lib/model/credentials.d.ts +0 -4
  276. package/lib/model/logging-config.d.ts +0 -6
  277. package/lib/model/service-options-token.d.ts +0 -3
  278. package/lib/model/service-options.d.ts +0 -4
  279. package/lib/ngx-lib.module.d.ts +0 -10
  280. package/lib/services/app-path-config.service.d.ts +0 -18
  281. package/lib/services/service-base.d.ts +0 -7
  282. package/msgraph/model/address.d.ts +0 -7
  283. package/msgraph/model/attendee.d.ts +0 -13
  284. package/msgraph/model/bulk-calendar-events.d.ts +0 -5
  285. package/msgraph/model/bulk-calendar-request.d.ts +0 -3
  286. package/msgraph/model/calendar-event.d.ts +0 -53
  287. package/msgraph/model/coordinates.d.ts +0 -7
  288. package/msgraph/model/email-address.d.ts +0 -4
  289. package/msgraph/model/location.d.ts +0 -12
  290. package/msgraph/model/online-meeting-info.d.ts +0 -9
  291. package/msgraph/model/patterned-recurrence.d.ts +0 -6
  292. package/msgraph/model/phone.d.ts +0 -4
  293. package/msgraph/model/recipient.d.ts +0 -4
  294. package/msgraph/model/recurrence-pattern.d.ts +0 -9
  295. package/msgraph/model/recurrence-range.d.ts +0 -7
  296. package/msgraph/model/response-status.d.ts +0 -4
  297. package/msgraph/model/room.d.ts +0 -22
  298. package/msgraph/model/user.d.ts +0 -29
  299. package/msgraph/msgraph.api.d.ts +0 -18
  300. package/msgraph/msgraph.module.d.ts +0 -8
  301. package/public_api.d.ts +0 -11
  302. package/quill/components/editor/editor.component.d.ts +0 -55
  303. package/quill/components/raw/raw.component.d.ts +0 -6
  304. package/quill/mention/components/editor/editor.component.d.ts +0 -15
  305. package/quill/mention/model/dialog-data.d.ts +0 -5
  306. package/quill/mention/quill-mention.api.d.ts +0 -3
  307. package/quill/mention/quill-mention.module.d.ts +0 -17
  308. package/quill/model/buttons.d.ts +0 -29
  309. package/quill/model/config.d.ts +0 -23
  310. package/quill/model/default-buttons.d.ts +0 -2
  311. package/quill/model/default-config.d.ts +0 -2
  312. package/quill/model/default-icons.d.ts +0 -2
  313. package/quill/model/default-tooltips.d.ts +0 -2
  314. package/quill/model/dialog-data.d.ts +0 -21
  315. package/quill/model/icons.d.ts +0 -6
  316. package/quill/model/tooltips.d.ts +0 -32
  317. package/quill/quill.api.d.ts +0 -12
  318. package/quill/quill.module.d.ts +0 -18
  319. package/sharepoint/components/user-photo/user-photo.component.d.ts +0 -15
  320. package/sharepoint/default-credentials.d.ts +0 -4
  321. package/sharepoint/model/base-item.d.ts +0 -4
  322. package/sharepoint/model/base-request-credential.d.ts +0 -4
  323. package/sharepoint/model/base-request.d.ts +0 -8
  324. package/sharepoint/model/cache-object.d.ts +0 -5
  325. package/sharepoint/model/file-request.d.ts +0 -4
  326. package/sharepoint/model/folder-request.d.ts +0 -4
  327. package/sharepoint/model/list-item.d.ts +0 -10
  328. package/sharepoint/model/list-items-request.d.ts +0 -5
  329. package/sharepoint/model/photo-item.d.ts +0 -11
  330. package/sharepoint/model/sharepoint-service-options.d.ts +0 -19
  331. package/sharepoint/model/uri-request.d.ts +0 -4
  332. package/sharepoint/model/user-request.d.ts +0 -4
  333. package/sharepoint/model/user.d.ts +0 -12
  334. package/sharepoint/pipes/user-photo-url.pipe.d.ts +0 -10
  335. package/sharepoint/services/sharepoint.service.d.ts +0 -20
  336. package/sharepoint/sharepoint.api.d.ts +0 -16
  337. package/sharepoint/sharepoint.module.d.ts +0 -13
  338. package/table/components/table/table.component.d.ts +0 -42
  339. package/table/model/table-column.d.ts +0 -70
  340. package/table/pipes/decimalPoints.d.ts +0 -7
  341. package/table/pipes/roundNumber.d.ts +0 -7
  342. package/table/table.api.d.ts +0 -5
  343. package/table/table.module.d.ts +0 -20
  344. package/upload/components/upload/upload.component.d.ts +0 -10
  345. package/upload/components/upload-dialog/upload-dialog.component.d.ts +0 -25
  346. package/upload/model/database-file-info.d.ts +0 -7
  347. package/upload/model/file-upload-request.d.ts +0 -6
  348. package/upload/model/filesystem-file-info.d.ts +0 -12
  349. package/upload/model/msg-file-content.d.ts +0 -21
  350. package/upload/model/upload-service-options-token.d.ts +0 -3
  351. package/upload/model/upload-service-options.d.ts +0 -14
  352. package/upload/model/upload-status.d.ts +0 -6
  353. package/upload/services/upload.service.d.ts +0 -21
  354. package/upload/upload.api.d.ts +0 -10
  355. package/upload/upload.module.d.ts +0 -17
  356. package/url-utilities/pipes/safe-resource-url.pipe.d.ts +0 -9
  357. package/url-utilities/pipes/safe-url.pipe.d.ts +0 -9
  358. package/url-utilities/pipes/uri-scheme.pipe.d.ts +0 -8
  359. package/url-utilities/url-utilities.api.d.ts +0 -8
  360. package/url-utilities/url-utilities.module.d.ts +0 -10
@@ -1,282 +0,0 @@
1
- import { NgTemplateOutlet } from '@angular/common';
2
- import { Component, forwardRef, inject, model, output, viewChild } from '@angular/core';
3
- import { FormsModule, NG_VALUE_ACCESSOR } from "@angular/forms";
4
- import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';
5
- import { MatIcon } from '@angular/material/icon';
6
- import { MatTooltip } from '@angular/material/tooltip';
7
- import { QuillEditorComponent } from 'ngx-quill';
8
- import { DefaultButtons } from '../../model/default-buttons';
9
- import { DefaultConfig } from '../../model/default-config';
10
- import { DefaultIcons } from '../../model/default-icons';
11
- import { DefaultTooltips } from '../../model/default-tooltips';
12
- import { RawComponent } from '../raw/raw.component';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/forms";
15
- export class EditorComponent {
16
- constructor() {
17
- this.#data = inject(MAT_DIALOG_DATA, { optional: true });
18
- this.#dialogRef = inject((MatDialogRef), { optional: true });
19
- this.#dialog = inject(MatDialog);
20
- this.editor = viewChild(QuillEditorComponent);
21
- this.onChange = (_) => { }; // Invoked when the model has been changed
22
- this.onTouched = () => { }; // Invoked when the model has been touched
23
- //#endregion
24
- this.config = model(DefaultConfig);
25
- this.placeholder = model();
26
- //#region These can be passed in as @Input(), or use values from config
27
- this.format = model();
28
- this.height = model();
29
- this.width = model();
30
- this.fullscreenHeight = model();
31
- this.fullscreenWidth = model();
32
- this.fullscreenMode = model();
33
- this.enableTooltips = model();
34
- this.fullscreen = model();
35
- this.readonly = model();
36
- this.applyReadonlyStyle = model();
37
- this.showToolbar = model();
38
- this.showBorder = model();
39
- //#region Optional Quill modules
40
- this.imageResizeModule = model();
41
- this.imageDropModule = model();
42
- this.syntaxModule = model();
43
- //#endregion
44
- //#endregion
45
- this.fullscreenChanged = output();
46
- //#region Passthrough events
47
- this.onBlur = output();
48
- this.onContentChanged = output();
49
- this.onEditorChanged = output();
50
- this.onEditorCreated = output();
51
- this.onFocus = output();
52
- this.onSelectionChanged = output();
53
- }
54
- get showBlockStyle() { return (this.config()?.buttons?.blockquote || this.config()?.buttons?.codeblock) ?? false; }
55
- ;
56
- get showFontStyle() { return (this.config()?.buttons?.bold || this.config()?.buttons?.italic || this.config()?.buttons?.strike || this.config()?.buttons?.underline) ?? false; }
57
- ;
58
- get showQuickHeadingStyle() { return (this.config()?.buttons?.h1 || this.config()?.buttons?.h2) ?? false; }
59
- ;
60
- get showIndentStyle() { return (this.config()?.buttons?.decreaseIndent || this.config()?.buttons?.increaseIndent) ?? false; }
61
- ;
62
- get showListStyle() { return (this.config()?.buttons?.bulleted || this.config()?.buttons?.ordered) ?? false; }
63
- ;
64
- get showMedia() { return (this.config()?.buttons?.link || this.config()?.buttons?.image || this.config()?.buttons?.video) ?? false; }
65
- ;
66
- get showScriptStyle() { return (this.config()?.buttons?.subScript || this.config()?.buttons?.superScript) ?? false; }
67
- ;
68
- #data;
69
- #dialogRef;
70
- #dialog;
71
- //#endregion
72
- ngOnInit() {
73
- this.initialize();
74
- /*if (!this.users) {
75
- this.activeDirectoryService.getUsers().subscribe(users =>
76
- this.users = users
77
- );
78
- }*/
79
- }
80
- initialize() {
81
- this.config.set({
82
- ...DefaultConfig,
83
- ...this.config(),
84
- ...this.#data?.config,
85
- buttons: this.config()?.buttons ?? DefaultButtons,
86
- icons: {
87
- ...DefaultIcons,
88
- ...this.config()?.icons
89
- },
90
- tooltips: {
91
- ...DefaultTooltips,
92
- ...this.config()?.tooltips
93
- }
94
- });
95
- this.value = this.value ?? this.#data?.value;
96
- // Moved to client responsibility
97
- /*if (this.imageDropModule) {
98
- Quill.register('modules/imageDrop', ImageDrop);
99
- }*/
100
- this.placeholder.set(this.placeholder() ?? this.#data?.placeholder);
101
- this.imageDropModule.set(this.imageDropModule() ?? this.#data?.imageDropModule ?? this.config().imageDropModule);
102
- this.imageResizeModule.set(this.imageResizeModule() ?? this.#data?.imageResizeModule ?? this.config().imageResizeModule);
103
- this.syntaxModule.set(this.syntaxModule() ?? this.#data?.syntaxModule ?? this.config().syntaxModule);
104
- this.format.set(this.format() ?? this.#data?.format ?? this.config().format);
105
- this.height.set(this.height() ?? this.#data?.height ?? this.config().height);
106
- this.width.set(this.width() ?? this.#data?.width ?? this.config().width);
107
- this.fullscreenHeight.set(this.fullscreenHeight() ?? this.#data?.maxHeight ?? this.config().fullscreenHeight);
108
- this.fullscreenWidth.set(this.fullscreenWidth() ?? this.#data?.maxWidth ?? this.config().fullscreenWidth);
109
- this.fullscreenMode.set(this.fullscreenMode() ?? this.#data?.fullscreenMode ?? this.config().fullscreenMode);
110
- this.enableTooltips.set(this.enableTooltips() !== undefined ?
111
- this.enableTooltips() :
112
- this.#data?.enableTooltips ?? this.config().enableTooltips);
113
- this.fullscreen.set(this.fullscreen() !== undefined ?
114
- this.fullscreen() :
115
- this.#data?.fullscreen ?? this.config().fullscreen);
116
- this.readonly.set(this.readonly() !== undefined ?
117
- this.readonly() :
118
- this.#data?.readonly ?? this.config().readonly);
119
- this.applyReadonlyStyle.set(this.applyReadonlyStyle() !== undefined ?
120
- this.applyReadonlyStyle() :
121
- this.#data?.applyReadonlyStyle ?? this.config().applyReadonlyStyle);
122
- this.showToolbar.set(this.showToolbar() !== undefined ?
123
- this.showToolbar() :
124
- this.#data?.showToolbar ?? this.config().showToolbar);
125
- this.showBorder.set(this.showBorder() !== undefined ?
126
- this.showBorder() :
127
- this.#data?.showBorder ?? this.config().showBorder);
128
- }
129
- toggleFullscreen() {
130
- if (this.fullscreenMode() === 'expand') {
131
- this.fullscreen.set(!this.fullscreen());
132
- this.fullscreenChanged.emit(this.fullscreen());
133
- }
134
- else {
135
- if (this.fullscreen()) {
136
- this.#dialogRef?.close(this.value);
137
- this.fullscreenChanged.emit(false);
138
- }
139
- else {
140
- const data = {
141
- value: this.value,
142
- config: this.config(),
143
- placeholder: this.placeholder(),
144
- format: this.format(),
145
- height: this.fullscreenHeight(),
146
- width: '100%',
147
- maxHeight: this.fullscreenHeight(),
148
- maxWidth: '100%',
149
- enableTooltips: this.enableTooltips(),
150
- fullscreen: true,
151
- fullscreenMode: this.fullscreenMode(),
152
- readonly: this.readonly(),
153
- applyReadonlyStyle: this.applyReadonlyStyle(),
154
- showToolbar: this.showToolbar(),
155
- showBorder: this.showBorder(),
156
- imageResizeModule: this.imageResizeModule(),
157
- imageDropModule: this.imageDropModule(),
158
- syntaxModule: this.syntaxModule()
159
- //users: this.users
160
- };
161
- this.#dialog.open(EditorComponent, {
162
- disableClose: true,
163
- width: this.fullscreenWidth(),
164
- height: this.fullscreenHeight(),
165
- data
166
- })
167
- .afterClosed()
168
- .subscribe(value => {
169
- this.value = value;
170
- this.updateChanges();
171
- });
172
- this.fullscreenChanged.emit(true);
173
- }
174
- }
175
- }
176
- rawEdit() {
177
- this.#dialog.open(RawComponent, {
178
- data: this.value,
179
- disableClose: true,
180
- height: '90%',
181
- width: '100%'
182
- })
183
- .afterClosed()
184
- .subscribe(value => {
185
- if (value === '__DO!!NOT!!UPDATE__') {
186
- return;
187
- }
188
- this.value = value;
189
- });
190
- }
191
- tooltip(val) {
192
- return this.enableTooltips() ? val : '';
193
- }
194
- get modules() {
195
- //if (!this.users) { return undefined; }
196
- const modules = {};
197
- if (!this.showToolbar()) {
198
- modules['toolbar'] = [];
199
- }
200
- if (this.imageResizeModule()) {
201
- modules['imageResize'] = {};
202
- }
203
- if (this.imageDropModule()) {
204
- modules['imageDrop'] = true;
205
- }
206
- if (this.syntaxModule()) {
207
- modules['syntax'] = true;
208
- }
209
- /*if (this.mentionModule) {
210
- modules['mention'] = {
211
- allowedChars: /^[A-Za-z\sÅÄÖåäö]*$/,
212
-
213
- onSelect: (item: DOMStringMap, insertItem: any) => {
214
- const editor = this.editor!.quillEditor
215
- insertItem(item)
216
- // necessary because quill-mention triggers changes as 'api' instead of 'user'
217
- editor.insertText(editor.getLength() - 1, '', 'user')
218
- },
219
-
220
- source: (searchTerm: string, renderList: any) => {
221
- if (searchTerm.length === 0) {
222
- renderList(this.users?.map(u => ({ value: `${u.displayName} (${u.sAMAccountName.toLowerCase()})` })), searchTerm)
223
- } else {
224
- const matches: any[] = []
225
-
226
- this.users!.forEach((entry) => {
227
- if (
228
- entry.displayName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1 ||
229
- entry.sAMAccountName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1
230
- ) {
231
- matches.push({ value: `${entry.displayName} (${entry.sAMAccountName.toLowerCase()})` })
232
- }
233
- })
234
-
235
- renderList(matches, searchTerm)
236
- }
237
- }
238
- };
239
- }*/
240
- return modules;
241
- }
242
- //#region ControlValueAccessor methods
243
- // Method that is invoked on an update of a model.
244
- updateChanges() {
245
- this.onChange(this.value);
246
- }
247
- //#region ControlValueAccessor Overrides
248
- // Writes a new item to the element.
249
- writeValue(value) {
250
- this.value = value;
251
- this.updateChanges();
252
- }
253
- // Registers a callback function that should be called when the control's value changes in the UI.
254
- registerOnChange(fn) {
255
- this.onChange = fn;
256
- }
257
- // Registers a callback function that should be called when the control receives a blur event.
258
- registerOnTouched(fn) {
259
- this.onTouched = fn;
260
- }
261
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
262
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: EditorComponent, isStandalone: true, selector: "cpquill-editor", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, fullscreenHeight: { classPropertyName: "fullscreenHeight", publicName: "fullscreenHeight", isSignal: true, isRequired: false, transformFunction: null }, fullscreenWidth: { classPropertyName: "fullscreenWidth", publicName: "fullscreenWidth", isSignal: true, isRequired: false, transformFunction: null }, fullscreenMode: { classPropertyName: "fullscreenMode", publicName: "fullscreenMode", isSignal: true, isRequired: false, transformFunction: null }, enableTooltips: { classPropertyName: "enableTooltips", publicName: "enableTooltips", isSignal: true, isRequired: false, transformFunction: null }, fullscreen: { classPropertyName: "fullscreen", publicName: "fullscreen", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, applyReadonlyStyle: { classPropertyName: "applyReadonlyStyle", publicName: "applyReadonlyStyle", isSignal: true, isRequired: false, transformFunction: null }, showToolbar: { classPropertyName: "showToolbar", publicName: "showToolbar", isSignal: true, isRequired: false, transformFunction: null }, showBorder: { classPropertyName: "showBorder", publicName: "showBorder", isSignal: true, isRequired: false, transformFunction: null }, imageResizeModule: { classPropertyName: "imageResizeModule", publicName: "imageResizeModule", isSignal: true, isRequired: false, transformFunction: null }, imageDropModule: { classPropertyName: "imageDropModule", publicName: "imageDropModule", isSignal: true, isRequired: false, transformFunction: null }, syntaxModule: { classPropertyName: "syntaxModule", publicName: "syntaxModule", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { config: "configChange", placeholder: "placeholderChange", format: "formatChange", height: "heightChange", width: "widthChange", fullscreenHeight: "fullscreenHeightChange", fullscreenWidth: "fullscreenWidthChange", fullscreenMode: "fullscreenModeChange", enableTooltips: "enableTooltipsChange", fullscreen: "fullscreenChange", readonly: "readonlyChange", applyReadonlyStyle: "applyReadonlyStyleChange", showToolbar: "showToolbarChange", showBorder: "showBorderChange", imageResizeModule: "imageResizeModuleChange", imageDropModule: "imageDropModuleChange", syntaxModule: "syntaxModuleChange", fullscreenChanged: "fullscreenChanged", onBlur: "onBlur", onContentChanged: "onContentChanged", onEditorChanged: "onEditorChanged", onEditorCreated: "onEditorCreated", onFocus: "onFocus", onSelectionChanged: "onSelectionChanged" }, providers: [{
263
- provide: NG_VALUE_ACCESSOR,
264
- useExisting: forwardRef(() => EditorComponent),
265
- multi: true
266
- }], viewQueries: [{ propertyName: "editor", first: true, predicate: QuillEditorComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container>\r\n <form>\r\n <quill-editor name=\"editor\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"updateChanges()\"\r\n [placeholder]=\"placeholder() ?? ''\"\r\n [format]=\"format()\"\r\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\r\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\r\n [readOnly]=\"readonly() ?? false\"\r\n [class.readonly]=\"readonly() && applyReadonlyStyle()\"\r\n [class.no-toolbar]=\"!showToolbar()\"\r\n [class.no-border]=\"!showBorder()\"\r\n [modules]=\"modules\"\r\n\r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onContentChanged)=\"onContentChanged.emit($event)\"\r\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\r\n (onEditorCreated)=\"onEditorCreated.emit()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n\r\n @if (showToolbar()) {\r\n <div quill-editor-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\r\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\r\n </div>\r\n }\r\n </quill-editor>\r\n </form>\r\n</ng-container>\r\n\r\n<ng-template #toolbar>\r\n <div>\r\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\r\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\r\n <ng-container [ngTemplateOutlet]=\"heading\"/>\r\n <ng-container [ngTemplateOutlet]=\"color\"/>\r\n <ng-container [ngTemplateOutlet]=\"font\"/>\r\n <ng-container [ngTemplateOutlet]=\"align\"/>\r\n <ng-container [ngTemplateOutlet]=\"clean\"/>\r\n <ng-container [ngTemplateOutlet]=\"formula\"/>\r\n <ng-container [ngTemplateOutlet]=\"media\"/>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #fontStyle>\r\n @if (showFontStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.bold) {\r\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips!.bold!)\"></button>\r\n }\r\n @if (config()!.buttons!.italic) {\r\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips!.italic!)\"></button>\r\n }\r\n @if (config()!.buttons!.underline) {\r\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips!.underline!)\"></button>\r\n }\r\n @if (config()!.buttons!.strike) {\r\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips!.strike!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #blockStyle>\r\n @if (showBlockStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.blockquote) {\r\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips!.blockquote!)\"></button>\r\n }\r\n @if (config()!.buttons!.codeblock) {\r\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips!.codeblock!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #headingStyle>\r\n @if (showQuickHeadingStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.h1) {\r\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips!.h1!)\"></button>\r\n }\r\n @if (config()!.buttons!.h2) {\r\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips!.h2!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #listStyle>\r\n @if (showListStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.ordered) {\r\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips!.ordered!)\"></button>\r\n }\r\n @if (config()!.buttons!.bulleted) {\r\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips!.bulleted!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #scriptStyle>\r\n @if (showScriptStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.subScript) {\r\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips!.subScript!)\"></button>\r\n }\r\n @if (config()!.buttons!.superScript) {\r\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips!.superScript!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #indentStyle>\r\n @if (showIndentStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.decreaseIndent) {\r\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips!.decreaseIndent!)\"></button>\r\n }\r\n @if (config()!.buttons!.increaseIndent) {\r\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips!.increaseIndent!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #rtl>\r\n @if (config()!.buttons!.rtl) {\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips!.rtl!)\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #fontSize>\r\n @if (config()!.buttons!.fontSize) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.fontSize!)\">\r\n <select class=\"ql-size\">\r\n <option value=\"small\"></option>\r\n <option selected></option>\r\n <option value=\"large\"></option>\r\n <option value=\"huge\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #heading>\r\n @if (config()!.buttons!.headingStyle) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.headingStyle!)\">\r\n <select class=\"ql-header\">\r\n <option value=\"1\"></option>\r\n <option value=\"2\"></option>\r\n <option value=\"3\"></option>\r\n <option value=\"4\"></option>\r\n <option value=\"5\"></option>\r\n <option value=\"6\"></option>\r\n <option selected=\"selected\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #color>\r\n @if (config()!.buttons!.color) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.color!)\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #font>\r\n @if (config()!.buttons!.font) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.font!)\">\r\n <select class=\"ql-font\">\r\n <option selected></option>\r\n <option value=\"serif\"></option>\r\n <option value=\"monospace\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #align>\r\n @if (config()!.buttons!.align) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.align!)\">\r\n <select class=\"ql-align\">\r\n <option selected></option>\r\n <option value=\"center\"></option>\r\n <option value=\"right\"></option>\r\n <option value=\"justify\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #clean>\r\n @if (config()!.buttons!.clean) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.clean!)\">\r\n <button class=\"ql-clean\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #media>\r\n @if (showMedia) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.link) {\r\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips!.link!)\"></button>\r\n }\r\n @if (config()!.buttons!.image) {\r\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips!.image!)\"></button>\r\n }\r\n @if (config()!.buttons!.video) {\r\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips!.video!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #editorSize>\r\n <div>\r\n @if (config()!.buttons!.rawEditor) {\r\n <span class=\"ql-formats\">\r\n <button id=\"rawdog\"\r\n [matTooltip]=\"tooltip(config()!.tooltips!.rawEditor!)\">\r\n <mat-icon (click)=\"rawEdit()\">\r\n code\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n\r\n @if (config()!.buttons!.editorSize) {\r\n <span class=\"ql-formats\">\r\n <button id=\"fullscreen\"\r\n [matTooltip]=\"tooltip(fullscreen() ?\r\n (fullscreenMode() === 'expand' ? config()!.tooltips!.minimize! : config()!.tooltips!.popin!) :\r\n (fullscreenMode() === 'expand' ? config()!.tooltips!.maximize! : config()!.tooltips!.popout!))\">\r\n <mat-icon (click)=\"toggleFullscreen()\">\r\n {{ fullscreen() ?\r\n (fullscreenMode() === 'expand' ? config()!.icons!.minimize : config()!.icons!.popin) :\r\n (fullscreenMode() === 'expand' ? config()!.icons!.maximize : config()!.icons!.popout)\r\n }}\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #formula>\r\n @if (config()!.buttons!.formula) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.formula!)\">\r\n <button class=\"ql-formula\"></button>\r\n </span>\r\n }\r\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: QuillEditorComponent, selector: "quill-editor" }] }); }
267
- }
268
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EditorComponent, decorators: [{
269
- type: Component,
270
- args: [{ selector: 'cpquill-editor', imports: [
271
- FormsModule,
272
- MatIcon,
273
- MatTooltip,
274
- NgTemplateOutlet,
275
- QuillEditorComponent,
276
- ], standalone: true, providers: [{
277
- provide: NG_VALUE_ACCESSOR,
278
- useExisting: forwardRef(() => EditorComponent),
279
- multi: true
280
- }], template: "<ng-container>\r\n <form>\r\n <quill-editor name=\"editor\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"updateChanges()\"\r\n [placeholder]=\"placeholder() ?? ''\"\r\n [format]=\"format()\"\r\n [style.height]=\"fullscreen() ? fullscreenHeight() : height()\"\r\n [style.width]=\"fullscreen() ? fullscreenWidth() : width()\"\r\n [readOnly]=\"readonly() ?? false\"\r\n [class.readonly]=\"readonly() && applyReadonlyStyle()\"\r\n [class.no-toolbar]=\"!showToolbar()\"\r\n [class.no-border]=\"!showBorder()\"\r\n [modules]=\"modules\"\r\n\r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onContentChanged)=\"onContentChanged.emit($event)\"\r\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\r\n (onEditorCreated)=\"onEditorCreated.emit()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n\r\n @if (showToolbar()) {\r\n <div quill-editor-toolbar>\r\n <ng-container [ngTemplateOutlet]=\"toolbar\"/>\r\n <ng-container [ngTemplateOutlet]=\"editorSize\"/>\r\n </div>\r\n }\r\n </quill-editor>\r\n </form>\r\n</ng-container>\r\n\r\n<ng-template #toolbar>\r\n <div>\r\n <ng-container [ngTemplateOutlet]=\"fontStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"blockStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"headingStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"listStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"indentStyle\"/>\r\n <ng-container [ngTemplateOutlet]=\"rtl\"/>\r\n <ng-container [ngTemplateOutlet]=\"fontSize\"/>\r\n <ng-container [ngTemplateOutlet]=\"heading\"/>\r\n <ng-container [ngTemplateOutlet]=\"color\"/>\r\n <ng-container [ngTemplateOutlet]=\"font\"/>\r\n <ng-container [ngTemplateOutlet]=\"align\"/>\r\n <ng-container [ngTemplateOutlet]=\"clean\"/>\r\n <ng-container [ngTemplateOutlet]=\"formula\"/>\r\n <ng-container [ngTemplateOutlet]=\"media\"/>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #fontStyle>\r\n @if (showFontStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.bold) {\r\n <button class=\"ql-bold\" [matTooltip]=\"tooltip(config()!.tooltips!.bold!)\"></button>\r\n }\r\n @if (config()!.buttons!.italic) {\r\n <button class=\"ql-italic\" [matTooltip]=\"tooltip(config()!.tooltips!.italic!)\"></button>\r\n }\r\n @if (config()!.buttons!.underline) {\r\n <button class=\"ql-underline\" [matTooltip]=\"tooltip(config()!.tooltips!.underline!)\"></button>\r\n }\r\n @if (config()!.buttons!.strike) {\r\n <button class=\"ql-strike\" [matTooltip]=\"tooltip(config()!.tooltips!.strike!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #blockStyle>\r\n @if (showBlockStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.blockquote) {\r\n <button class=\"ql-blockquote\" [matTooltip]=\"tooltip(config()!.tooltips!.blockquote!)\"></button>\r\n }\r\n @if (config()!.buttons!.codeblock) {\r\n <button class=\"ql-code-block\" [matTooltip]=\"tooltip(config()!.tooltips!.codeblock!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #headingStyle>\r\n @if (showQuickHeadingStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.h1) {\r\n <button class=\"ql-header\" value=\"1\" [matTooltip]=\"tooltip(config()!.tooltips!.h1!)\"></button>\r\n }\r\n @if (config()!.buttons!.h2) {\r\n <button class=\"ql-header\" value=\"2\" [matTooltip]=\"tooltip(config()!.tooltips!.h2!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #listStyle>\r\n @if (showListStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.ordered) {\r\n <button class=\"ql-list\" value=\"ordered\" [matTooltip]=\"tooltip(config()!.tooltips!.ordered!)\"></button>\r\n }\r\n @if (config()!.buttons!.bulleted) {\r\n <button class=\"ql-list\" value=\"bullet\" [matTooltip]=\"tooltip(config()!.tooltips!.bulleted!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #scriptStyle>\r\n @if (showScriptStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.subScript) {\r\n <button class=\"ql-script\" value=\"sub\" [matTooltip]=\"tooltip(config()!.tooltips!.subScript!)\"></button>\r\n }\r\n @if (config()!.buttons!.superScript) {\r\n <button class=\"ql-script\" value=\"super\" [matTooltip]=\"tooltip(config()!.tooltips!.superScript!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #indentStyle>\r\n @if (showIndentStyle) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.decreaseIndent) {\r\n <button class=\"ql-indent\" value=\"-1\" [matTooltip]=\"tooltip(config()!.tooltips!.decreaseIndent!)\"></button>\r\n }\r\n @if (config()!.buttons!.increaseIndent) {\r\n <button class=\"ql-indent\" value=\"+1\" [matTooltip]=\"tooltip(config()!.tooltips!.increaseIndent!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #rtl>\r\n @if (config()!.buttons!.rtl) {\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config()!.tooltips!.rtl!)\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #fontSize>\r\n @if (config()!.buttons!.fontSize) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.fontSize!)\">\r\n <select class=\"ql-size\">\r\n <option value=\"small\"></option>\r\n <option selected></option>\r\n <option value=\"large\"></option>\r\n <option value=\"huge\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #heading>\r\n @if (config()!.buttons!.headingStyle) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.headingStyle!)\">\r\n <select class=\"ql-header\">\r\n <option value=\"1\"></option>\r\n <option value=\"2\"></option>\r\n <option value=\"3\"></option>\r\n <option value=\"4\"></option>\r\n <option value=\"5\"></option>\r\n <option value=\"6\"></option>\r\n <option selected=\"selected\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #color>\r\n @if (config()!.buttons!.color) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.color!)\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #font>\r\n @if (config()!.buttons!.font) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.font!)\">\r\n <select class=\"ql-font\">\r\n <option selected></option>\r\n <option value=\"serif\"></option>\r\n <option value=\"monospace\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #align>\r\n @if (config()!.buttons!.align) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.align!)\">\r\n <select class=\"ql-align\">\r\n <option selected></option>\r\n <option value=\"center\"></option>\r\n <option value=\"right\"></option>\r\n <option value=\"justify\"></option>\r\n </select>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #clean>\r\n @if (config()!.buttons!.clean) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.clean!)\">\r\n <button class=\"ql-clean\"></button>\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #media>\r\n @if (showMedia) {\r\n <span class=\"ql-formats\">\r\n @if (config()!.buttons!.link) {\r\n <button class=\"ql-link\" [matTooltip]=\"tooltip(config()!.tooltips!.link!)\"></button>\r\n }\r\n @if (config()!.buttons!.image) {\r\n <button class=\"ql-image\" [matTooltip]=\"tooltip(config()!.tooltips!.image!)\"></button>\r\n }\r\n @if (config()!.buttons!.video) {\r\n <button class=\"ql-video\" [matTooltip]=\"tooltip(config()!.tooltips!.video!)\"></button>\r\n }\r\n </span>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #editorSize>\r\n <div>\r\n @if (config()!.buttons!.rawEditor) {\r\n <span class=\"ql-formats\">\r\n <button id=\"rawdog\"\r\n [matTooltip]=\"tooltip(config()!.tooltips!.rawEditor!)\">\r\n <mat-icon (click)=\"rawEdit()\">\r\n code\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n\r\n @if (config()!.buttons!.editorSize) {\r\n <span class=\"ql-formats\">\r\n <button id=\"fullscreen\"\r\n [matTooltip]=\"tooltip(fullscreen() ?\r\n (fullscreenMode() === 'expand' ? config()!.tooltips!.minimize! : config()!.tooltips!.popin!) :\r\n (fullscreenMode() === 'expand' ? config()!.tooltips!.maximize! : config()!.tooltips!.popout!))\">\r\n <mat-icon (click)=\"toggleFullscreen()\">\r\n {{ fullscreen() ?\r\n (fullscreenMode() === 'expand' ? config()!.icons!.minimize : config()!.icons!.popin) :\r\n (fullscreenMode() === 'expand' ? config()!.icons!.maximize : config()!.icons!.popout)\r\n }}\r\n </mat-icon>\r\n </button>\r\n </span>\r\n }\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #formula>\r\n @if (config()!.buttons!.formula) {\r\n <span class=\"ql-formats\" [matTooltip]=\"tooltip(config()!.tooltips!.formula!)\">\r\n <button class=\"ql-formula\"></button>\r\n </span>\r\n }\r\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.no-toolbar .ql-toolbar{height:0;padding:0;visibility:hidden}::ng-deep quill-editor.no-border .ql-container{border:none}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"] }]
281
- }] });
282
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL3NyYy9jb21wb25lbnRzL2VkaXRvci9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvcXVpbGwvc3JjL2NvbXBvbmVudHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBMEUsb0JBQW9CLEVBQW1CLE1BQU0sV0FBVyxDQUFDO0FBRTFJLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENB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QU0sRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQWMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFOUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FB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RSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrR0FBa0c7SUFDbEcsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsOEZBQThGO0lBQzlGLGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0F0UlUsZUFBZTtrR0FBZixlQUFlLDJzR0FOYixDQUFDO2dCQUNKLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUM5QyxLQUFLLEVBQUUsSUFBSTthQUNkLENBQUMsa0VBZWEsb0JBQW9CLGdFQzlDM0MsMHNUQTRRYyxzWkR4UE4sV0FBVyxxK0JBQ1gsT0FBTywySUFDUCxVQUFVLGlSQUNWLGdCQUFnQixvSkFDaEIsb0JBQW9COzsyRkFTZixlQUFlO2tCQWxCM0IsU0FBUzsrQkFDSSxnQkFBZ0IsV0FHakI7d0JBQ0wsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLFVBQVU7d0JBQ1YsZ0JBQWdCO3dCQUNoQixvQkFBb0I7cUJBQ3ZCLGNBQ1csSUFBSSxhQUNMLENBQUM7NEJBQ0osT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBpbmplY3QsIG1vZGVsLCBPbkluaXQsIG91dHB1dCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBCbHVyLCBDb250ZW50Q2hhbmdlLCBFZGl0b3JDaGFuZ2VDb250ZW50LCBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24sIEZvY3VzLCBRdWlsbEVkaXRvckNvbXBvbmVudCwgU2VsZWN0aW9uQ2hhbmdlIH0gZnJvbSAnbmd4LXF1aWxsJztcclxuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWwvY29uZmlnJztcclxuaW1wb3J0IHsgRGVmYXVsdEJ1dHRvbnMgfSBmcm9tICcuLi8uLi9tb2RlbC9kZWZhdWx0LWJ1dHRvbnMnO1xyXG5pbXBvcnQgeyBEZWZhdWx0Q29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGVmYXVsdC1jb25maWcnO1xyXG5pbXBvcnQgeyBEZWZhdWx0SWNvbnMgfSBmcm9tICcuLi8uLi9tb2RlbC9kZWZhdWx0LWljb25zJztcclxuaW1wb3J0IHsgRGVmYXVsdFRvb2x0aXBzIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGVmYXVsdC10b29sdGlwcyc7XHJcbmltcG9ydCB7IERpYWxvZ0RhdGEgfSBmcm9tICcuLi8uLi9tb2RlbC9kaWFsb2ctZGF0YSc7XHJcbmltcG9ydCB7IFJhd0NvbXBvbmVudCB9IGZyb20gJy4uL3Jhdy9yYXcuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjcHF1aWxsLWVkaXRvcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9lZGl0b3IuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIE1hdEljb24sXHJcbiAgICAgICAgTWF0VG9vbHRpcCxcclxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgICAgIFF1aWxsRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFZGl0b3JDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBnZXQgc2hvd0Jsb2NrU3R5bGUoKTogYm9vbGVhbiB7IHJldHVybiAodGhpcy5jb25maWcoKT8uYnV0dG9ucz8uYmxvY2txdW90ZSB8fCB0aGlzLmNvbmZpZygpPy5idXR0b25zPy5jb2RlYmxvY2spID8/IGZhbHNlOyB9O1xyXG4gIGdldCBzaG93Rm9udFN0eWxlKCk6IGJvb2xlYW4geyByZXR1cm4gKHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LmJvbGQgfHwgdGhpcy5jb25maWcoKT8uYnV0dG9ucz8uaXRhbGljIHx8IHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LnN0cmlrZSB8fCB0aGlzLmNvbmZpZygpPy5idXR0b25zPy51bmRlcmxpbmUpID8/IGZhbHNlOyB9O1xyXG4gIGdldCBzaG93UXVpY2tIZWFkaW5nU3R5bGUoKTogYm9vbGVhbiB7IHJldHVybiAodGhpcy5jb25maWcoKT8uYnV0dG9ucz8uaDEgfHwgdGhpcy5jb25maWcoKT8uYnV0dG9ucz8uaDIpID8/IGZhbHNlOyB9O1xyXG4gIGdldCBzaG93SW5kZW50U3R5bGUoKTogYm9vbGVhbiB7IHJldHVybiAodGhpcy5jb25maWcoKT8uYnV0dG9ucz8uZGVjcmVhc2VJbmRlbnQgfHwgdGhpcy5jb25maWcoKT8uYnV0dG9ucz8uaW5jcmVhc2VJbmRlbnQpID8/IGZhbHNlOyB9O1xyXG4gIGdldCBzaG93TGlzdFN0eWxlKCk6IGJvb2xlYW4geyByZXR1cm4gKHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LmJ1bGxldGVkIHx8IHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/Lm9yZGVyZWQpID8/IGZhbHNlIH07XHJcbiAgZ2V0IHNob3dNZWRpYSgpOiBib29sZWFuICB7IHJldHVybiAodGhpcy5jb25maWcoKT8uYnV0dG9ucz8ubGluayB8fCB0aGlzLmNvbmZpZygpPy5idXR0b25zPy5pbWFnZSB8fCB0aGlzLmNvbmZpZygpPy5idXR0b25zPy52aWRlbykgPz8gZmFsc2UgfTtcclxuICBnZXQgc2hvd1NjcmlwdFN0eWxlKCk6IGJvb2xlYW4geyByZXR1cm4gKHRoaXMuY29uZmlnKCk/LmJ1dHRvbnM/LnN1YlNjcmlwdCB8fCB0aGlzLmNvbmZpZygpPy5idXR0b25zPy5zdXBlclNjcmlwdCkgPz8gZmFsc2UgfTtcclxuXHJcbiAgI2RhdGEgPSBpbmplY3Q8RGlhbG9nRGF0YT4oTUFUX0RJQUxPR19EQVRBLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xyXG4gICNkaWFsb2dSZWYgPSBpbmplY3QoTWF0RGlhbG9nUmVmPEVkaXRvckNvbXBvbmVudD4sIHsgb3B0aW9uYWw6IHRydWUgfSk7XHJcbiAgI2RpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xyXG5cclxuICAgIGVkaXRvciA9IHZpZXdDaGlsZChRdWlsbEVkaXRvckNvbXBvbmVudCk7XHJcblxyXG4gIC8vI3JlZ2lvbiBDb250cm9sVmFsdWVBY2Nlc3NvciBzdHVmZlxyXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzUwNjE4MDUwL2hvdy10by1jcmVhdGUtY3VzdG9tLWlucHV0LWNvbXBvbmVudC13aXRoLW5nbW9kZWwtd29ya2luZy1pbi1hbmd1bGFyLTZcclxuICB2YWx1ZTogYW55OyAvLyBzdHJpbmdcclxuICBvbkNoYW5nZTogKF86IGFueSkgPT4gdm9pZCA9IChfOiBhbnkpID0+IHt9OyAvLyBJbnZva2VkIHdoZW4gdGhlIG1vZGVsIGhhcyBiZWVuIGNoYW5nZWRcclxuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTsgLy8gSW52b2tlZCB3aGVuIHRoZSBtb2RlbCBoYXMgYmVlbiB0b3VjaGVkXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIGNvbmZpZyA9IG1vZGVsPENvbmZpZz4oRGVmYXVsdENvbmZpZyk7XHJcbiAgcGxhY2Vob2xkZXIgPSBtb2RlbDxzdHJpbmc+KCk7XHJcblxyXG4gIC8vI3JlZ2lvbiBUaGVzZSBjYW4gYmUgcGFzc2VkIGluIGFzIEBJbnB1dCgpLCBvciB1c2UgdmFsdWVzIGZyb20gY29uZmlnXHJcbiAgZm9ybWF0ID0gbW9kZWw8J29iamVjdCcgfCAnaHRtbCcgfCAndGV4dCcgfCAnanNvbic+KCk7XHJcbiAgaGVpZ2h0ID0gbW9kZWw8c3RyaW5nPigpO1xyXG4gIHdpZHRoID0gbW9kZWw8c3RyaW5nPigpO1xyXG4gIGZ1bGxzY3JlZW5IZWlnaHQgPSBtb2RlbDxzdHJpbmc+KCk7XHJcbiAgZnVsbHNjcmVlbldpZHRoID0gbW9kZWw8c3RyaW5nPigpO1xyXG4gIGZ1bGxzY3JlZW5Nb2RlID0gbW9kZWw8J2V4cGFuZCcgfCAncG9wb3V0Jz4oKTtcclxuXHJcbiAgZW5hYmxlVG9vbHRpcHMgPSBtb2RlbDxib29sZWFuPigpO1xyXG4gIGZ1bGxzY3JlZW4gPSBtb2RlbDxib29sZWFuPigpO1xyXG4gIHJlYWRvbmx5ID0gbW9kZWw8Ym9vbGVhbj4oKTtcclxuICBhcHBseVJlYWRvbmx5U3R5bGUgPSBtb2RlbDxib29sZWFuPigpO1xyXG4gIHNob3dUb29sYmFyID0gbW9kZWw8Ym9vbGVhbj4oKTtcclxuICBzaG93Qm9yZGVyID0gbW9kZWw8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLy8jcmVnaW9uIE9wdGlvbmFsIFF1aWxsIG1vZHVsZXNcclxuICBpbWFnZVJlc2l6ZU1vZHVsZSA9IG1vZGVsPGJvb2xlYW4+KCk7XHJcbiAgaW1hZ2VEcm9wTW9kdWxlID0gbW9kZWw8Ym9vbGVhbj4oKTtcclxuICBzeW50YXhNb2R1bGUgPSBtb2RlbDxib29sZWFuPigpO1xyXG4gIC8vI2VuZHJlZ2lvblxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBmdWxsc2NyZWVuQ2hhbmdlZCA9IG91dHB1dDxib29sZWFuPigpO1xyXG5cclxuICAvLyNyZWdpb24gUGFzc3Rocm91Z2ggZXZlbnRzXHJcbiAgb25CbHVyID0gb3V0cHV0PEJsdXI+KCk7XHJcbiAgb25Db250ZW50Q2hhbmdlZCA9IG91dHB1dDxDb250ZW50Q2hhbmdlPigpO1xyXG4gIG9uRWRpdG9yQ2hhbmdlZCA9IG91dHB1dDxFZGl0b3JDaGFuZ2VDb250ZW50IHwgRWRpdG9yQ2hhbmdlU2VsZWN0aW9uPigpO1xyXG4gIG9uRWRpdG9yQ3JlYXRlZCA9IG91dHB1dCgpO1xyXG4gIG9uRm9jdXMgPSBvdXRwdXQ8Rm9jdXM+KCk7XHJcbiAgb25TZWxlY3Rpb25DaGFuZ2VkID0gb3V0cHV0PFNlbGVjdGlvbkNoYW5nZT4oKTtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRpYWxpemUoKTtcclxuXHJcbiAgICAvKmlmICghdGhpcy51c2Vycykge1xyXG4gICAgICB0aGlzLmFjdGl2ZURpcmVjdG9yeVNlcnZpY2UuZ2V0VXNlcnMoKS5zdWJzY3JpYmUodXNlcnMgPT5cclxuICAgICAgICB0aGlzLnVzZXJzID0gdXNlcnNcclxuICAgICAgKTtcclxuICAgIH0qL1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlnLnNldCh7XHJcbiAgICAgIC4uLkRlZmF1bHRDb25maWcsXHJcbiAgICAgIC4uLnRoaXMuY29uZmlnKCksXHJcbiAgICAgIC4uLnRoaXMuI2RhdGE/LmNvbmZpZyxcclxuICAgICAgYnV0dG9uczogdGhpcy5jb25maWcoKT8uYnV0dG9ucyA/PyBEZWZhdWx0QnV0dG9ucyxcclxuICAgICAgaWNvbnM6IHtcclxuICAgICAgICAuLi5EZWZhdWx0SWNvbnMsXHJcbiAgICAgICAgLi4udGhpcy5jb25maWcoKT8uaWNvbnNcclxuICAgICAgfSxcclxuICAgICAgdG9vbHRpcHM6IHtcclxuICAgICAgICAuLi5EZWZhdWx0VG9vbHRpcHMsXHJcbiAgICAgICAgLi4udGhpcy5jb25maWcoKT8udG9vbHRpcHNcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUgPz8gdGhpcy4jZGF0YT8udmFsdWU7XHJcblxyXG4gICAgLy8gTW92ZWQgdG8gY2xpZW50IHJlc3BvbnNpYmlsaXR5XHJcbiAgICAvKmlmICh0aGlzLmltYWdlRHJvcE1vZHVsZSkge1xyXG4gICAgICBRdWlsbC5yZWdpc3RlcignbW9kdWxlcy9pbWFnZURyb3AnLCBJbWFnZURyb3ApO1xyXG4gICAgfSovXHJcblxyXG4gICAgdGhpcy5wbGFjZWhvbGRlci5zZXQodGhpcy5wbGFjZWhvbGRlcigpID8/IHRoaXMuI2RhdGE/LnBsYWNlaG9sZGVyKTtcclxuXHJcbiAgICB0aGlzLmltYWdlRHJvcE1vZHVsZS5zZXQodGhpcy5pbWFnZURyb3BNb2R1bGUoKSA/PyB0aGlzLiNkYXRhPy5pbWFnZURyb3BNb2R1bGUgPz8gdGhpcy5jb25maWcoKSEuaW1hZ2VEcm9wTW9kdWxlKTtcclxuICAgIHRoaXMuaW1hZ2VSZXNpemVNb2R1bGUuc2V0KHRoaXMuaW1hZ2VSZXNpemVNb2R1bGUoKSA/PyB0aGlzLiNkYXRhPy5pbWFnZVJlc2l6ZU1vZHVsZSA/PyB0aGlzLmNvbmZpZygpIS5pbWFnZVJlc2l6ZU1vZHVsZSk7XHJcbiAgICB0aGlzLnN5bnRheE1vZHVsZS5zZXQodGhpcy5zeW50YXhNb2R1bGUoKSA/PyB0aGlzLiNkYXRhPy5zeW50YXhNb2R1bGUgPz8gdGhpcy5jb25maWcoKSEuc3ludGF4TW9kdWxlKTtcclxuXHJcbiAgICB0aGlzLmZvcm1hdC5zZXQodGhpcy5mb3JtYXQoKSA/PyB0aGlzLiNkYXRhPy5mb3JtYXQgPz8gdGhpcy5jb25maWcoKSEuZm9ybWF0KTtcclxuICAgIHRoaXMuaGVpZ2h0LnNldCh0aGlzLmhlaWdodCgpID8/IHRoaXMuI2RhdGE/LmhlaWdodCA/PyB0aGlzLmNvbmZpZygpIS5oZWlnaHQpO1xyXG4gICAgdGhpcy53aWR0aC5zZXQodGhpcy53aWR0aCgpID8/IHRoaXMuI2RhdGE/LndpZHRoID8/IHRoaXMuY29uZmlnKCkhLndpZHRoKTtcclxuICAgIHRoaXMuZnVsbHNjcmVlbkhlaWdodC5zZXQodGhpcy5mdWxsc2NyZWVuSGVpZ2h0KCkgPz8gdGhpcy4jZGF0YT8ubWF4SGVpZ2h0ID8/IHRoaXMuY29uZmlnKCkhLmZ1bGxzY3JlZW5IZWlnaHQpO1xyXG4gICAgdGhpcy5mdWxsc2NyZWVuV2lkdGguc2V0KHRoaXMuZnVsbHNjcmVlbldpZHRoKCkgPz8gdGhpcy4jZGF0YT8ubWF4V2lkdGggPz8gdGhpcy5jb25maWcoKSEuZnVsbHNjcmVlbldpZHRoKTtcclxuICAgIHRoaXMuZnVsbHNjcmVlbk1vZGUuc2V0KHRoaXMuZnVsbHNjcmVlbk1vZGUoKSA/PyB0aGlzLiNkYXRhPy5mdWxsc2NyZWVuTW9kZSA/PyB0aGlzLmNvbmZpZygpIS5mdWxsc2NyZWVuTW9kZSk7XHJcblxyXG4gICAgdGhpcy5lbmFibGVUb29sdGlwcy5zZXQodGhpcy5lbmFibGVUb29sdGlwcygpICE9PSB1bmRlZmluZWQgP1xyXG4gICAgICB0aGlzLmVuYWJsZVRvb2x0aXBzKCkgOlxyXG4gICAgICB0aGlzLiNkYXRhPy5lbmFibGVUb29sdGlwcyA/PyB0aGlzLmNvbmZpZygpIS5lbmFibGVUb29sdGlwcyk7XHJcblxyXG4gICAgdGhpcy5mdWxsc2NyZWVuLnNldCh0aGlzLmZ1bGxzY3JlZW4oKSAhPT0gdW5kZWZpbmVkID9cclxuICAgICAgdGhpcy5mdWxsc2NyZWVuKCkgOlxyXG4gICAgICB0aGlzLiNkYXRhPy5mdWxsc2NyZWVuID8/IHRoaXMuY29uZmlnKCkhLmZ1bGxzY3JlZW4pO1xyXG5cclxuICAgIHRoaXMucmVhZG9ubHkuc2V0KHRoaXMucmVhZG9ubHkoKSAhPT0gdW5kZWZpbmVkID9cclxuICAgICAgdGhpcy5yZWFkb25seSgpIDpcclxuICAgICAgdGhpcy4jZGF0YT8ucmVhZG9ubHkgPz8gdGhpcy5jb25maWcoKSEucmVhZG9ubHkpO1xyXG5cclxuICAgIHRoaXMuYXBwbHlSZWFkb25seVN0eWxlLnNldCh0aGlzLmFwcGx5UmVhZG9ubHlTdHlsZSgpICE9PSB1bmRlZmluZWQgP1xyXG4gICAgICB0aGlzLmFwcGx5UmVhZG9ubHlTdHlsZSgpIDpcclxuICAgICAgdGhpcy4jZGF0YT8uYXBwbHlSZWFkb25seVN0eWxlID8/IHRoaXMuY29uZmlnKCkhLmFwcGx5UmVhZG9ubHlTdHlsZSk7XHJcblxyXG4gICAgdGhpcy5zaG93VG9vbGJhci5zZXQodGhpcy5zaG93VG9vbGJhcigpICE9PSB1bmRlZmluZWQgP1xyXG4gICAgICB0aGlzLnNob3dUb29sYmFyKCkgOlxyXG4gICAgICB0aGlzLiNkYXRhPy5zaG93VG9vbGJhciA/PyB0aGlzLmNvbmZpZygpIS5zaG93VG9vbGJhcik7XHJcblxyXG4gICAgdGhpcy5zaG93Qm9yZGVyLnNldCh0aGlzLnNob3dCb3JkZXIoKSAhPT0gdW5kZWZpbmVkID9cclxuICAgICAgdGhpcy5zaG93Qm9yZGVyKCkgOlxyXG4gICAgICB0aGlzLiNkYXRhPy5zaG93Qm9yZGVyID8/IHRoaXMuY29uZmlnKCkhLnNob3dCb3JkZXIpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRnVsbHNjcmVlbigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZ1bGxzY3JlZW5Nb2RlKCkgPT09ICdleHBhbmQnKSB7XHJcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuLnNldCghdGhpcy5mdWxsc2NyZWVuKCkpO1xyXG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbkNoYW5nZWQuZW1pdCh0aGlzLmZ1bGxzY3JlZW4oKSEpO1xyXG4gICAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuZnVsbHNjcmVlbigpKSB7XHJcbiAgICAgICAgdGhpcy4jZGlhbG9nUmVmPy5jbG9zZSh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgIHRoaXMuZnVsbHNjcmVlbkNoYW5nZWQuZW1pdChmYWxzZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZGF0YTogRGlhbG9nRGF0YSA9IHtcclxuXHJcbiAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcclxuICAgICAgICAgIGNvbmZpZzogdGhpcy5jb25maWcoKSxcclxuICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnBsYWNlaG9sZGVyKCksXHJcbiAgICAgICAgICBmb3JtYXQ6IHRoaXMuZm9ybWF0KCkhLFxyXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQoKSEsXHJcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICAgICAgbWF4SGVpZ2h0OiB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQoKSEsXHJcbiAgICAgICAgICBtYXhXaWR0aDogJzEwMCUnLFxyXG4gICAgICAgICAgZW5hYmxlVG9vbHRpcHM6IHRoaXMuZW5hYmxlVG9vbHRpcHMoKSEsXHJcbiAgICAgICAgICBmdWxsc2NyZWVuOiB0cnVlLFxyXG4gICAgICAgICAgZnVsbHNjcmVlbk1vZGU6IHRoaXMuZnVsbHNjcmVlbk1vZGUoKSEsXHJcbiAgICAgICAgICByZWFkb25seTogdGhpcy5yZWFkb25seSgpISxcclxuICAgICAgICAgIGFwcGx5UmVhZG9ubHlTdHlsZTogdGhpcy5hcHBseVJlYWRvbmx5U3R5bGUoKSEsXHJcbiAgICAgICAgICBzaG93VG9vbGJhcjogdGhpcy5zaG93VG9vbGJhcigpISxcclxuICAgICAgICAgIHNob3dCb3JkZXI6IHRoaXMuc2hvd0JvcmRlcigpISxcclxuICAgICAgICAgIGltYWdlUmVzaXplTW9kdWxlOiB0aGlzLmltYWdlUmVzaXplTW9kdWxlKCkhLFxyXG4gICAgICAgICAgaW1hZ2VEcm9wTW9kdWxlOiB0aGlzLmltYWdlRHJvcE1vZHVsZSgpISxcclxuICAgICAgICAgIHN5bnRheE1vZHVsZTogdGhpcy5zeW50YXhNb2R1bGUoKSFcclxuICAgICAgICAgIC8vdXNlcnM6IHRoaXMudXNlcnNcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLiNkaWFsb2cub3BlbihFZGl0b3JDb21wb25lbnQsIHtcclxuICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICAgIHdpZHRoOiB0aGlzLmZ1bGxzY3JlZW5XaWR0aCgpLFxyXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmZ1bGxzY3JlZW5IZWlnaHQoKSxcclxuICAgICAgICAgIGRhdGFcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNoYW5nZXMoKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuQ2hhbmdlZC5lbWl0KHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByYXdFZGl0KCk6IHZvaWQge1xyXG4gICAgdGhpcy4jZGlhbG9nLm9wZW4oUmF3Q29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHRoaXMudmFsdWUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgaGVpZ2h0OiAnOTAlJyxcclxuICAgICAgd2lkdGg6ICcxMDAlJ1xyXG4gICAgfSlcclxuICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgaWYgKHZhbHVlID09PSAnX19ETyEhTk9UISFVUERBVEVfXycpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdG9vbHRpcCh2YWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbmFibGVUb29sdGlwcygpID8gdmFsIDogJyc7XHJcbiAgfVxyXG5cclxuICBnZXQgbW9kdWxlcygpIHtcclxuICAgIC8vaWYgKCF0aGlzLnVzZXJzKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cclxuXHJcbiAgICBjb25zdCBtb2R1bGVzID0geyB9O1xyXG5cclxuICAgIGlmICghdGhpcy5zaG93VG9vbGJhcigpKSB7XHJcbiAgICAgIG1vZHVsZXNbJ3Rvb2xiYXInXSA9IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmltYWdlUmVzaXplTW9kdWxlKCkpIHtcclxuICAgICAgbW9kdWxlc1snaW1hZ2VSZXNpemUnXSA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmltYWdlRHJvcE1vZHVsZSgpKSB7XHJcbiAgICAgIG1vZHVsZXNbJ2ltYWdlRHJvcCddID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zeW50YXhNb2R1bGUoKSkge1xyXG4gICAgICBtb2R1bGVzWydzeW50YXgnXSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyppZiAodGhpcy5tZW50aW9uTW9kdWxlKSB7XHJcbiAgICAgIG1vZHVsZXNbJ21lbnRpb24nXSA9IHtcclxuICAgICAgICBhbGxvd2VkQ2hhcnM6IC9eW0EtWmEtelxcc8OFw4TDlsOlw6TDtl0qJC8sXHJcblxyXG4gICAgICAgIG9uU2VsZWN0OiAoaXRlbTogRE9NU3RyaW5nTWFwLCBpbnNlcnRJdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGVkaXRvciA9IHRoaXMuZWRpdG9yIS5xdWlsbEVkaXRvclxyXG4gICAgICAgICAgaW5zZXJ0SXRlbShpdGVtKVxyXG4gICAgICAgICAgLy8gbmVjZXNzYXJ5IGJlY2F1c2UgcXVpbGwtbWVudGlvbiB0cmlnZ2VycyBjaGFuZ2VzIGFzICdhcGknIGluc3RlYWQgb2YgJ3VzZXInXHJcbiAgICAgICAgICBlZGl0b3IuaW5zZXJ0VGV4dChlZGl0b3IuZ2V0TGVuZ3RoKCkgLSAxLCAnJywgJ3VzZXInKVxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIHNvdXJjZTogKHNlYXJjaFRlcm06IHN0cmluZywgcmVuZGVyTGlzdDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoc2VhcmNoVGVybS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmVuZGVyTGlzdCh0aGlzLnVzZXJzPy5tYXAodSA9PiAoeyB2YWx1ZTogYCR7dS5kaXNwbGF5TmFtZX0gKCR7dS5zQU1BY2NvdW50TmFtZS50b0xvd2VyQ2FzZSgpfSlgIH0pKSwgc2VhcmNoVGVybSlcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZXM6IGFueVtdID0gW11cclxuXHJcbiAgICAgICAgICAgIHRoaXMudXNlcnMhLmZvckVhY2goKGVudHJ5KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgZW50cnkuZGlzcGxheU5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkgIT09IC0xIHx8XHJcbiAgICAgICAgICAgICAgICBlbnRyeS5zQU1BY2NvdW50TmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpKSAhPT0gLTFcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgbWF0Y2hlcy5wdXNoKHsgdmFsdWU6IGAke2VudHJ5LmRpc3BsYXlOYW1lfSAoJHtlbnRyeS5zQU1BY2NvdW50TmFtZS50b0xvd2VyQ2FzZSgpfSlgIH0pXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG5cclxuICAgICAgICAgICAgcmVuZGVyTGlzdChtYXRjaGVzLCBzZWFyY2hUZXJtKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIH0qL1xyXG5cclxuICAgIHJldHVybiBtb2R1bGVzO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIENvbnRyb2xWYWx1ZUFjY2Vzc29yIG1ldGhvZHNcclxuICAvLyBNZXRob2QgdGhhdCBpcyBpbnZva2VkIG9uIGFuIHVwZGF0ZSBvZiBhIG1vZGVsLlxyXG4gIHVwZGF0ZUNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIENvbnRyb2xWYWx1ZUFjY2Vzc29yIE92ZXJyaWRlc1xyXG5cclxuICAvLyBXcml0ZXMgYSBuZXcgaXRlbSB0byB0aGUgZWxlbWVudC5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIC8vIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjb250cm9sJ3MgdmFsdWUgY2hhbmdlcyBpbiB0aGUgVUkuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIC8vIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIHRoZSBjb250cm9sIHJlY2VpdmVzIGEgYmx1ciBldmVudC5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lcj5cclxuICA8Zm9ybT5cclxuICAgIDxxdWlsbC1lZGl0b3IgbmFtZT1cImVkaXRvclwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVDaGFuZ2VzKClcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKSA/PyAnJ1wiXHJcbiAgICAgIFtmb3JtYXRdPVwiZm9ybWF0KClcIlxyXG4gICAgICBbc3R5bGUuaGVpZ2h0XT1cImZ1bGxzY3JlZW4oKSA/IGZ1bGxzY3JlZW5IZWlnaHQoKSA6IGhlaWdodCgpXCJcclxuICAgICAgW3N0eWxlLndpZHRoXT1cImZ1bGxzY3JlZW4oKSA/IGZ1bGxzY3JlZW5XaWR0aCgpIDogd2lkdGgoKVwiXHJcbiAgICAgIFtyZWFkT25seV09XCJyZWFkb25seSgpID8/IGZhbHNlXCJcclxuICAgICAgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5KCkgJiYgYXBwbHlSZWFkb25seVN0eWxlKClcIlxyXG4gICAgICBbY2xhc3Mubm8tdG9vbGJhcl09XCIhc2hvd1Rvb2xiYXIoKVwiXHJcbiAgICAgIFtjbGFzcy5uby1ib3JkZXJdPVwiIXNob3dCb3JkZXIoKVwiXHJcbiAgICAgIFttb2R1bGVzXT1cIm1vZHVsZXNcIlxyXG5cclxuICAgICAgKG9uQmx1cik9XCJvbkJsdXIuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgKG9uQ29udGVudENoYW5nZWQpPVwib25Db250ZW50Q2hhbmdlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAob25FZGl0b3JDaGFuZ2VkKT1cIm9uRWRpdG9yQ2hhbmdlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAob25FZGl0b3JDcmVhdGVkKT1cIm9uRWRpdG9yQ3JlYXRlZC5lbWl0KClcIlxyXG4gICAgICAob25Gb2N1cyk9XCJvbkZvY3VzLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgIChvblNlbGVjdGlvbkNoYW5nZWQpPVwib25TZWxlY3Rpb25DaGFuZ2VkLmVtaXQoJGV2ZW50KVwiPlxyXG5cclxuICAgICAgQGlmIChzaG93VG9vbGJhcigpKSB7XHJcbiAgICAgICAgPGRpdiBxdWlsbC1lZGl0b3ItdG9vbGJhcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidG9vbGJhclwiLz5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZWRpdG9yU2l6ZVwiLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9xdWlsbC1lZGl0b3I+XHJcbiAgPC9mb3JtPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdG9vbGJhcj5cclxuICA8ZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb250U3R5bGVcIi8+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJsb2NrU3R5bGVcIi8+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRpbmdTdHlsZVwiLz5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdFN0eWxlXCIvPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzY3JpcHRTdHlsZVwiLz5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5kZW50U3R5bGVcIi8+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJ0bFwiLz5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9udFNpemVcIi8+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRpbmdcIi8+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbG9yXCIvPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb250XCIvPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJhbGlnblwiLz5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2xlYW5cIi8+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvcm11bGFcIi8+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lZGlhXCIvPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNmb250U3R5bGU+XHJcbiAgQGlmIChzaG93Rm9udFN0eWxlKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuYm9sZCkge1xyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1ib2xkXCIgICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5ib2xkISlcIj48L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5pdGFsaWMpIHtcclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaXRhbGljXCIgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLml0YWxpYyEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEudW5kZXJsaW5lKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXVuZGVybGluZVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS51bmRlcmxpbmUhKVwiPjwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLnN0cmlrZSkge1xyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1zdHJpa2VcIiAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuc3RyaWtlISlcIj48L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9zcGFuPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYmxvY2tTdHlsZT5cclxuICBAaWYgKHNob3dCbG9ja1N0eWxlKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuYmxvY2txdW90ZSkge1xyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1ibG9ja3F1b3RlXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmJsb2NrcXVvdGUhKVwiPjwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmNvZGVibG9jaykge1xyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1jb2RlLWJsb2NrXCIgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5jb2RlYmxvY2shKVwiPjwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNoZWFkaW5nU3R5bGU+XHJcbiAgQGlmIChzaG93UXVpY2tIZWFkaW5nU3R5bGUpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5oMSkge1xyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1oZWFkZXJcIiB2YWx1ZT1cIjFcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuaDEhKVwiPjwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmgyKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWhlYWRlclwiIHZhbHVlPVwiMlwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5oMiEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2xpc3RTdHlsZT5cclxuICBAaWYgKHNob3dMaXN0U3R5bGUpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5vcmRlcmVkKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWxpc3RcIiB2YWx1ZT1cIm9yZGVyZWRcIiAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLm9yZGVyZWQhKVwiPjwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmJ1bGxldGVkKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWxpc3RcIiB2YWx1ZT1cImJ1bGxldFwiICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuYnVsbGV0ZWQhKVwiPjwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNzY3JpcHRTdHlsZT5cclxuICBAaWYgKHNob3dTY3JpcHRTdHlsZSkge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XHJcbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLnN1YlNjcmlwdCkge1xyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1zY3JpcHRcIiB2YWx1ZT1cInN1YlwiICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLnN1YlNjcmlwdCEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuc3VwZXJTY3JpcHQpIHtcclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtc2NyaXB0XCIgdmFsdWU9XCJzdXBlclwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5zdXBlclNjcmlwdCEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2luZGVudFN0eWxlPlxyXG4gIEBpZiAoc2hvd0luZGVudFN0eWxlKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuZGVjcmVhc2VJbmRlbnQpIHtcclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaW5kZW50XCIgdmFsdWU9XCItMVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5kZWNyZWFzZUluZGVudCEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuaW5jcmVhc2VJbmRlbnQpIHtcclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaW5kZW50XCIgdmFsdWU9XCIrMVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5pbmNyZWFzZUluZGVudCEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3J0bD5cclxuICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5ydGwpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwicWwtZGlyZWN0aW9uXCIgdmFsdWU9XCJydGxcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEucnRsISlcIj48L2J1dHRvbj5cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2ZvbnRTaXplPlxyXG4gIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmZvbnRTaXplKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuZm9udFNpemUhKVwiPlxyXG4gICAgICA8c2VsZWN0IGNsYXNzPVwicWwtc2l6ZVwiPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJzbWFsbFwiPjwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+PC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImxhcmdlXCI+PC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImh1Z2VcIj48L29wdGlvbj5cclxuICAgICAgPC9zZWxlY3Q+XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNoZWFkaW5nPlxyXG4gIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmhlYWRpbmdTdHlsZSkge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmhlYWRpbmdTdHlsZSEpXCI+XHJcbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1oZWFkZXJcIj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMVwiPjwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCIyXCI+PC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjNcIj48L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiNFwiPjwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCI1XCI+PC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjZcIj48L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPVwic2VsZWN0ZWRcIj48L29wdGlvbj5cclxuICAgICAgPC9zZWxlY3Q+XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb2xvcj5cclxuICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5jb2xvcikge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmNvbG9yISlcIj5cclxuICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWNvbG9yXCI+PC9zZWxlY3Q+XHJcbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1iYWNrZ3JvdW5kXCI+PC9zZWxlY3Q+XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNmb250PlxyXG4gIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmZvbnQpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnKCkhLnRvb2x0aXBzIS5mb250ISlcIj5cclxuICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWZvbnRcIj5cclxuICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJzZXJpZlwiPjwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJtb25vc3BhY2VcIj48L29wdGlvbj5cclxuICAgICAgPC9zZWxlY3Q+XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNhbGlnbj5cclxuICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5hbGlnbikge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmFsaWduISlcIj5cclxuICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWFsaWduXCI+XHJcbiAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD48L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiY2VudGVyXCI+PC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInJpZ2h0XCI+PC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImp1c3RpZnlcIj48L29wdGlvbj5cclxuICAgICAgPC9zZWxlY3Q+XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjbGVhbj5cclxuICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5jbGVhbikge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLmNsZWFuISlcIj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWNsZWFuXCI+PC9idXR0b24+XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNtZWRpYT5cclxuICBAaWYgKHNob3dNZWRpYSkge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCI+XHJcbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLmxpbmspIHtcclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtbGlua1wiICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEubGluayEpXCI+PC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuaW1hZ2UpIHtcclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaW1hZ2VcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuaW1hZ2UhKVwiPjwvYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoY29uZmlnKCkhLmJ1dHRvbnMhLnZpZGVvKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXZpZGVvXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLnZpZGVvISlcIj48L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9zcGFuPlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZWRpdG9yU2l6ZT5cclxuICA8ZGl2PlxyXG4gICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEucmF3RWRpdG9yKSB7XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiPlxyXG4gICAgICAgIDxidXR0b24gaWQ9XCJyYXdkb2dcIlxyXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcoKSEudG9vbHRpcHMhLnJhd0VkaXRvciEpXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cInJhd0VkaXQoKVwiPlxyXG4gICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICB9XHJcblxyXG4gICAgQGlmIChjb25maWcoKSEuYnV0dG9ucyEuZWRpdG9yU2l6ZSkge1xyXG4gICAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIj5cclxuICAgICAgICA8YnV0dG9uIGlkPVwiZnVsbHNjcmVlblwiXHJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGZ1bGxzY3JlZW4oKSA/XHJcbiAgICAgICAgICAgICAgICAgICAgKGZ1bGxzY3JlZW5Nb2RlKCkgPT09ICdleHBhbmQnID8gY29uZmlnKCkhLnRvb2x0aXBzIS5taW5pbWl6ZSEgOiBjb25maWcoKSEudG9vbHRpcHMhLnBvcGluISkgOlxyXG4gICAgICAgICAgICAgICAgICAgIChmdWxsc2NyZWVuTW9kZSgpID09PSAnZXhwYW5kJyA/IGNvbmZpZygpIS50b29sdGlwcyEubWF4aW1pemUhIDogY29uZmlnKCkhLnRvb2x0aXBzIS5wb3BvdXQhKSlcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwidG9nZ2xlRnVsbHNjcmVlbigpXCI+XHJcbiAgICAgICAgICAgIHt7IGZ1bGxzY3JlZW4oKSA/XHJcbiAgICAgICAgICAgIChmdWxsc2NyZWVuTW9kZSgpID09PSAnZXhwYW5kJyA/IGNvbmZpZygpIS5pY29ucyEubWluaW1pemUgOiBjb25maWcoKSEuaWNvbnMhLnBvcGluKSA6XHJcbiAgICAgICAgICAgIChmdWxsc2NyZWVuTW9kZSgpID09PSAnZXhwYW5kJyA/IGNvbmZpZygpIS5pY29ucyEubWF4aW1pemUgOiBjb25maWcoKSEuaWNvbnMhLnBvcG91dClcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZm9ybXVsYT5cclxuICBAaWYgKGNvbmZpZygpIS5idXR0b25zIS5mb3JtdWxhKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZygpIS50b29sdGlwcyEuZm9ybXVsYSEpXCI+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1mb3JtdWxhXCI+PC9idXR0b24+XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -1,30 +0,0 @@
1
- import { Component, inject } from '@angular/core';
2
- import { FormsModule } from '@angular/forms';
3
- import { MatButton } from '@angular/material/button';
4
- import { MAT_DIALOG_DATA, MatDialogActions, MatDialogClose, MatDialogContent } from '@angular/material/dialog';
5
- import { MatFormField } from '@angular/material/form-field';
6
- import { MatIcon } from '@angular/material/icon';
7
- import { MatInput } from '@angular/material/input';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/forms";
10
- export class RawComponent {
11
- constructor() {
12
- this.data = inject(MAT_DIALOG_DATA);
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RawComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: RawComponent, isStandalone: true, selector: "cpquill-raw", ngImport: i0, template: "<mat-dialog-content>\r\n <form>\r\n <mat-form-field appearance=\"outline\">\r\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\r\n </mat-form-field>\r\n </form>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\r\n <mat-icon>cancel</mat-icon>\r\n <span>Cancel</span>\r\n </button>\r\n\r\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\r\n <mat-icon>done</mat-icon>\r\n <span>Accept</span>\r\n </button>\r\n</mat-dialog-actions>", styles: ["mat-dialog-content{height:95%;max-height:initial!important}form{width:100%}mat-form-field{width:100%}textarea{height:70vh}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: RawComponent, decorators: [{
18
- type: Component,
19
- args: [{ selector: 'cpquill-raw', imports: [
20
- FormsModule,
21
- MatButton,
22
- MatDialogActions,
23
- MatDialogClose,
24
- MatDialogContent,
25
- MatFormField,
26
- MatIcon,
27
- MatInput
28
- ], standalone: true, template: "<mat-dialog-content>\r\n <form>\r\n <mat-form-field appearance=\"outline\">\r\n <textarea matInput [(ngModel)]=\"data\" name=\"data\"></textarea>\r\n </mat-form-field>\r\n </form>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <button mat-raised-button color=\"warn\" mat-dialog-close=\"__DO!!NOT!!UPDATE__\">\r\n <mat-icon>cancel</mat-icon>\r\n <span>Cancel</span>\r\n </button>\r\n\r\n <button mat-raised-button color=\"primary\" [mat-dialog-close]=\"data\">\r\n <mat-icon>done</mat-icon>\r\n <span>Accept</span>\r\n </button>\r\n</mat-dialog-actions>", styles: ["mat-dialog-content{height:95%;max-height:initial!important}form{width:100%}mat-form-field{width:100%}textarea{height:70vh}\n"] }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL3NyYy9jb21wb25lbnRzL3Jhdy9yYXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvcXVpbGwvc3JjL2NvbXBvbmVudHMvcmF3L3Jhdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQWtCbkQsTUFBTSxPQUFPLFlBQVk7SUFoQnpCO1FBaUJFLFNBQUksR0FBRyxNQUFNLENBQVMsZUFBZSxDQUFDLENBQUM7S0FDeEM7OEdBRlksWUFBWTtrR0FBWixZQUFZLHVFQ3hCekIsNG5CQWtCcUIscUxEUGIsV0FBVyx3aUNBQ1gsU0FBUyxpTEFDVCxnQkFBZ0IsNEhBQ2hCLGNBQWMscUxBQ2QsZ0JBQWdCLHlHQUNoQixZQUFZLDRMQUNaLE9BQU8sMklBQ1AsUUFBUTs7MkZBTUgsWUFBWTtrQkFoQnhCLFNBQVM7K0JBQ0ksYUFBYSxXQUNkO3dCQUNMLFdBQVc7d0JBQ1gsU0FBUzt3QkFDVCxnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLE9BQU87d0JBQ1AsUUFBUTtxQkFDWCxjQUNXLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dBY3Rpb25zLCBNYXREaWFsb2dDbG9zZSwgTWF0RGlhbG9nQ29udGVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NwcXVpbGwtcmF3JyxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBNYXRCdXR0b24sXHJcbiAgICAgICAgTWF0RGlhbG9nQWN0aW9ucyxcclxuICAgICAgICBNYXREaWFsb2dDbG9zZSxcclxuICAgICAgICBNYXREaWFsb2dDb250ZW50LFxyXG4gICAgICAgIE1hdEZvcm1GaWVsZCxcclxuICAgICAgICBNYXRJY29uLFxyXG4gICAgICAgIE1hdElucHV0XHJcbiAgICBdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL3Jhdy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhd0NvbXBvbmVudCB7XHJcbiAgZGF0YSA9IGluamVjdDxzdHJpbmc+KE1BVF9ESUFMT0dfREFUQSk7XHJcbn1cclxuIiwiPG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgIDxmb3JtPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJkYXRhXCIgbmFtZT1cImRhdGFcIj48L3RleHRhcmVhPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Zvcm0+XHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG5cclxuPG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJ3YXJuXCIgbWF0LWRpYWxvZy1jbG9zZT1cIl9fRE8hIU5PVCEhVVBEQVRFX19cIj5cclxuICAgICAgICA8bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5cclxuICAgICAgICA8c3Bhbj5DYW5jZWw8L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFttYXQtZGlhbG9nLWNsb3NlXT1cImRhdGFcIj5cclxuICAgICAgICA8bWF0LWljb24+ZG9uZTwvbWF0LWljb24+XHJcbiAgICAgICAgPHNwYW4+QWNjZXB0PC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbjwvbWF0LWRpYWxvZy1hY3Rpb25zPiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './quill-mention.api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXZlbGFuZHByaWNlLW5neC1saWItcXVpbGwtbWVudGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsL21lbnRpb24vc3JjL2NsZWF2ZWxhbmRwcmljZS1uZ3gtbGliLXF1aWxsLW1lbnRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3F1aWxsLW1lbnRpb24uYXBpJztcbiJdfQ==