@ajf/material 13.0.0-next.2 → 13.0.0-rc.1

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 (450) hide show
  1. package/barcode/barcode-module.d.ts +11 -21
  2. package/barcode/barcode.d.ts +3 -0
  3. package/barcode/barcode_public_index.d.ts +4 -0
  4. package/barcode/index.d.ts +19 -1
  5. package/barcode/package.json +6 -6
  6. package/calendar/calendar-module.d.ts +10 -21
  7. package/calendar/calendar.d.ts +3 -0
  8. package/calendar/calendar_public_index.d.ts +4 -0
  9. package/calendar/index.d.ts +19 -1
  10. package/calendar/package.json +6 -6
  11. package/checkbox-group/checkbox-group-item.d.ts +3 -0
  12. package/checkbox-group/checkbox-group-module.d.ts +9 -21
  13. package/checkbox-group/checkbox-group_public_index.d.ts +4 -0
  14. package/checkbox-group/index.d.ts +19 -1
  15. package/checkbox-group/package.json +6 -6
  16. package/esm2020/barcode/barcode-module.mjs +63 -0
  17. package/esm2020/barcode/barcode.mjs +51 -0
  18. package/esm2020/barcode/barcode_public_index.mjs +5 -0
  19. package/esm2020/barcode/index.mjs +23 -0
  20. package/{esm2015/barcode/public-api.js → esm2020/barcode/public-api.mjs} +0 -0
  21. package/esm2020/calendar/calendar-module.mjs +43 -0
  22. package/esm2020/calendar/calendar.mjs +49 -0
  23. package/esm2020/calendar/calendar_public_index.mjs +5 -0
  24. package/esm2020/calendar/index.mjs +23 -0
  25. package/{esm2015/calendar/public-api.js → esm2020/calendar/public-api.mjs} +0 -0
  26. package/esm2020/checkbox-group/checkbox-group-item.mjs +51 -0
  27. package/esm2020/checkbox-group/checkbox-group-module.mjs +42 -0
  28. package/esm2020/checkbox-group/checkbox-group_public_index.mjs +5 -0
  29. package/{esm2015/report-builder/image-filter.js → esm2020/checkbox-group/index.mjs} +2 -11
  30. package/{esm2015/checkbox-group/public-api.js → esm2020/checkbox-group/public-api.mjs} +0 -0
  31. package/esm2020/form-builder/branch-line.mjs +68 -0
  32. package/{esm2015/form-builder/choices-origin-data-source.js → esm2020/form-builder/choices-origin-data-source.mjs} +1 -1
  33. package/esm2020/form-builder/choices-origin-editor-dialog.mjs +40 -0
  34. package/esm2020/form-builder/choices-origin-editor.mjs +83 -0
  35. package/esm2020/form-builder/condition-editor-dialog.mjs +38 -0
  36. package/esm2020/form-builder/condition-editor.mjs +147 -0
  37. package/esm2020/form-builder/form-builder-module.mjs +179 -0
  38. package/esm2020/form-builder/form-builder-service.mjs +766 -0
  39. package/{esm2015/form-builder/form-builder-utils.js → esm2020/form-builder/form-builder-utils.mjs} +4 -3
  40. package/esm2020/form-builder/form-builder.mjs +180 -0
  41. package/esm2020/form-builder/form-builder_public_index.mjs +5 -0
  42. package/esm2020/form-builder/index.mjs +23 -0
  43. package/esm2020/form-builder/node-entry.mjs +260 -0
  44. package/esm2020/form-builder/node-properties.mjs +960 -0
  45. package/esm2020/form-builder/node-type-entry.mjs +46 -0
  46. package/{esm2015/form-builder/operations.js → esm2020/form-builder/operations.mjs} +0 -0
  47. package/{esm2015/form-builder/public-api.js → esm2020/form-builder/public-api.mjs} +0 -0
  48. package/esm2020/form-builder/string-identifier-dialog.mjs +79 -0
  49. package/esm2020/form-builder/validation-condition-editor-dialog.mjs +41 -0
  50. package/esm2020/form-builder/warning-condition-editor-dialog.mjs +41 -0
  51. package/esm2020/forms/barcode-field.mjs +45 -0
  52. package/esm2020/forms/boolean-field.mjs +45 -0
  53. package/esm2020/forms/date-field.mjs +45 -0
  54. package/esm2020/forms/date-input-field.mjs +67 -0
  55. package/esm2020/forms/empty-field.mjs +43 -0
  56. package/esm2020/forms/field-service.mjs +116 -0
  57. package/esm2020/forms/field-warning-dialog.mjs +34 -0
  58. package/esm2020/forms/field.mjs +42 -0
  59. package/esm2020/forms/form.mjs +51 -0
  60. package/esm2020/forms/forms-module.mjs +208 -0
  61. package/esm2020/forms/forms_public_index.mjs +5 -0
  62. package/esm2020/forms/index.mjs +23 -0
  63. package/esm2020/forms/input-field.mjs +46 -0
  64. package/esm2020/forms/multiple-choice-field.mjs +54 -0
  65. package/{esm2015/forms/public-api.js → esm2020/forms/public-api.mjs} +0 -0
  66. package/esm2020/forms/range-field.mjs +46 -0
  67. package/esm2020/forms/single-choice-field.mjs +53 -0
  68. package/esm2020/forms/table-field.mjs +45 -0
  69. package/esm2020/forms/text-field.mjs +47 -0
  70. package/esm2020/forms/time-field.mjs +45 -0
  71. package/esm2020/forms/video-url-field.mjs +50 -0
  72. package/esm2020/forms/warning-alert-service.mjs +22 -0
  73. package/esm2020/image/image-module.mjs +40 -0
  74. package/esm2020/image/image.mjs +40 -0
  75. package/esm2020/image/image_public_index.mjs +5 -0
  76. package/esm2020/image/index.mjs +23 -0
  77. package/{esm2015/image/public-api.js → esm2020/image/public-api.mjs} +0 -0
  78. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  79. package/{esm2015/monaco-editor/auto-complete-item-model.js → esm2020/monaco-editor/auto-complete-item-model.mjs} +0 -0
  80. package/{esm2015/monaco-editor/autocomplete-singleton-model.js → esm2020/monaco-editor/autocomplete-singleton-model.mjs} +3 -2
  81. package/{esm2015/monaco-editor/editor-language-model.js → esm2020/monaco-editor/editor-language-model.mjs} +0 -0
  82. package/{esm2015/monaco-editor/editor-options-model.js → esm2020/monaco-editor/editor-options-model.mjs} +1 -1
  83. package/{esm2015/monaco-editor/editor-scrollbar-options.js → esm2020/monaco-editor/editor-scrollbar-options.mjs} +0 -0
  84. package/{esm2015/monaco-editor/editor-theme.js → esm2020/monaco-editor/editor-theme.mjs} +0 -0
  85. package/esm2020/monaco-editor/index.mjs +23 -0
  86. package/esm2020/monaco-editor/monaco-editor-module.mjs +37 -0
  87. package/esm2020/monaco-editor/monaco-editor.mjs +451 -0
  88. package/esm2020/monaco-editor/monaco-editor_public_index.mjs +5 -0
  89. package/{esm2015/monaco-editor/public-api.js → esm2020/monaco-editor/public-api.mjs} +0 -0
  90. package/esm2020/node-icon/index.mjs +23 -0
  91. package/esm2020/node-icon/node-icon-module.mjs +40 -0
  92. package/esm2020/node-icon/node-icon.mjs +35 -0
  93. package/esm2020/node-icon/node-icon_public_index.mjs +5 -0
  94. package/{esm2015/node-icon/public-api.js → esm2020/node-icon/public-api.mjs} +0 -0
  95. package/esm2020/page-slider/index.mjs +23 -0
  96. package/esm2020/page-slider/page-slider-module.mjs +59 -0
  97. package/esm2020/page-slider/page-slider.mjs +42 -0
  98. package/esm2020/page-slider/page-slider_public_index.mjs +5 -0
  99. package/{esm2015/page-slider/public-api.js → esm2020/page-slider/public-api.mjs} +0 -0
  100. package/esm2020/reports/chart-widget.mjs +38 -0
  101. package/esm2020/reports/formula-widget.mjs +37 -0
  102. package/esm2020/reports/image-container-widget.mjs +41 -0
  103. package/esm2020/reports/image-widget.mjs +37 -0
  104. package/esm2020/reports/index.mjs +23 -0
  105. package/{esm2015/reports/layout-widget.js → esm2020/reports/layout-widget.mjs} +0 -0
  106. package/esm2020/reports/map-widget.mjs +37 -0
  107. package/esm2020/reports/page-break-widget.mjs +37 -0
  108. package/{esm2015/reports/public-api.js → esm2020/reports/public-api.mjs} +0 -0
  109. package/esm2020/reports/report.mjs +39 -0
  110. package/esm2020/reports/reports-module.mjs +112 -0
  111. package/esm2020/reports/reports_public_index.mjs +5 -0
  112. package/esm2020/reports/table-widget.mjs +38 -0
  113. package/esm2020/reports/text-widget.mjs +38 -0
  114. package/esm2020/reports/widget.mjs +102 -0
  115. package/{esm2015/report-builder/operations.js → esm2020/time/index.mjs} +2 -2
  116. package/{esm2015/time/public-api.js → esm2020/time/public-api.mjs} +0 -0
  117. package/esm2020/time/time-module.mjs +41 -0
  118. package/esm2020/time/time.mjs +45 -0
  119. package/esm2020/time/time_public_index.mjs +5 -0
  120. package/fesm2015/barcode.mjs +162 -0
  121. package/fesm2015/barcode.mjs.map +1 -0
  122. package/fesm2015/calendar.mjs +138 -0
  123. package/fesm2015/calendar.mjs.map +1 -0
  124. package/fesm2015/checkbox-group.mjs +142 -0
  125. package/fesm2015/checkbox-group.mjs.map +1 -0
  126. package/fesm2015/form-builder.mjs +2922 -0
  127. package/fesm2015/form-builder.mjs.map +1 -0
  128. package/fesm2015/forms.mjs +1011 -0
  129. package/fesm2015/forms.mjs.map +1 -0
  130. package/fesm2015/image.mjs +127 -0
  131. package/fesm2015/image.mjs.map +1 -0
  132. package/fesm2015/{material.js → material.mjs} +1 -1
  133. package/{bundles/material.umd.js.map → fesm2015/material.mjs.map} +1 -1
  134. package/fesm2015/{monaco-editor.js → monaco-editor.mjs} +179 -124
  135. package/fesm2015/monaco-editor.mjs.map +1 -0
  136. package/fesm2015/node-icon.mjs +123 -0
  137. package/fesm2015/node-icon.mjs.map +1 -0
  138. package/fesm2015/page-slider.mjs +147 -0
  139. package/fesm2015/page-slider.mjs.map +1 -0
  140. package/fesm2015/reports.mjs +551 -0
  141. package/fesm2015/reports.mjs.map +1 -0
  142. package/fesm2015/time.mjs +133 -0
  143. package/fesm2015/time.mjs.map +1 -0
  144. package/fesm2020/barcode.mjs +162 -0
  145. package/fesm2020/barcode.mjs.map +1 -0
  146. package/fesm2020/calendar.mjs +138 -0
  147. package/fesm2020/calendar.mjs.map +1 -0
  148. package/fesm2020/checkbox-group.mjs +140 -0
  149. package/fesm2020/checkbox-group.mjs.map +1 -0
  150. package/fesm2020/form-builder.mjs +2921 -0
  151. package/fesm2020/form-builder.mjs.map +1 -0
  152. package/fesm2020/forms.mjs +985 -0
  153. package/fesm2020/forms.mjs.map +1 -0
  154. package/fesm2020/image.mjs +127 -0
  155. package/fesm2020/image.mjs.map +1 -0
  156. package/{report-builder/image-filter.d.ts → fesm2020/material.mjs} +9 -4
  157. package/fesm2020/material.mjs.map +1 -0
  158. package/fesm2020/monaco-editor.mjs +826 -0
  159. package/fesm2020/monaco-editor.mjs.map +1 -0
  160. package/fesm2020/node-icon.mjs +123 -0
  161. package/fesm2020/node-icon.mjs.map +1 -0
  162. package/fesm2020/page-slider.mjs +147 -0
  163. package/fesm2020/page-slider.mjs.map +1 -0
  164. package/fesm2020/reports.mjs +551 -0
  165. package/fesm2020/reports.mjs.map +1 -0
  166. package/fesm2020/time.mjs +133 -0
  167. package/fesm2020/time.mjs.map +1 -0
  168. package/form-builder/branch-line.d.ts +3 -0
  169. package/form-builder/choices-origin-editor-dialog.d.ts +3 -0
  170. package/form-builder/choices-origin-editor.d.ts +3 -0
  171. package/form-builder/condition-editor-dialog.d.ts +3 -0
  172. package/form-builder/condition-editor.d.ts +3 -0
  173. package/form-builder/form-builder-module.d.ts +41 -21
  174. package/form-builder/form-builder-service.d.ts +3 -0
  175. package/form-builder/form-builder.d.ts +3 -0
  176. package/form-builder/form-builder_public_index.d.ts +4 -0
  177. package/form-builder/index.d.ts +19 -12
  178. package/form-builder/node-entry.d.ts +3 -0
  179. package/form-builder/node-properties.d.ts +3 -0
  180. package/form-builder/node-type-entry.d.ts +3 -0
  181. package/form-builder/package.json +6 -6
  182. package/form-builder/string-identifier-dialog.d.ts +3 -0
  183. package/form-builder/validation-condition-editor-dialog.d.ts +3 -0
  184. package/form-builder/warning-condition-editor-dialog.d.ts +3 -0
  185. package/forms/barcode-field.d.ts +3 -0
  186. package/forms/boolean-field.d.ts +3 -0
  187. package/forms/date-field.d.ts +3 -0
  188. package/forms/date-input-field.d.ts +3 -0
  189. package/forms/empty-field.d.ts +3 -0
  190. package/forms/field-service.d.ts +3 -0
  191. package/forms/field-warning-dialog.d.ts +3 -21
  192. package/forms/field.d.ts +3 -0
  193. package/forms/form.d.ts +3 -0
  194. package/forms/forms-module.d.ts +43 -21
  195. package/forms/forms_public_index.d.ts +4 -0
  196. package/forms/index.d.ts +19 -5
  197. package/forms/input-field.d.ts +3 -0
  198. package/forms/multiple-choice-field.d.ts +3 -0
  199. package/forms/package.json +6 -6
  200. package/forms/range-field.d.ts +3 -0
  201. package/forms/single-choice-field.d.ts +3 -0
  202. package/forms/table-field.d.ts +3 -0
  203. package/forms/text-field.d.ts +3 -0
  204. package/forms/time-field.d.ts +3 -0
  205. package/forms/video-url-field.d.ts +3 -0
  206. package/forms/warning-alert-service.d.ts +3 -0
  207. package/image/image-module.d.ts +7 -21
  208. package/image/image.d.ts +3 -0
  209. package/image/image_public_index.d.ts +4 -0
  210. package/image/index.d.ts +19 -1
  211. package/image/package.json +6 -6
  212. package/monaco-editor/index.d.ts +19 -1
  213. package/monaco-editor/monaco-editor-module.d.ts +5 -21
  214. package/monaco-editor/monaco-editor.d.ts +3 -0
  215. package/monaco-editor/monaco-editor_public_index.d.ts +4 -0
  216. package/monaco-editor/package.json +6 -6
  217. package/node-icon/index.d.ts +19 -1
  218. package/node-icon/node-icon-module.d.ts +7 -21
  219. package/node-icon/node-icon.d.ts +3 -0
  220. package/node-icon/node-icon_public_index.d.ts +4 -0
  221. package/node-icon/package.json +6 -6
  222. package/package.json +111 -11
  223. package/page-slider/index.d.ts +19 -1
  224. package/page-slider/package.json +6 -6
  225. package/page-slider/page-slider-module.d.ts +10 -21
  226. package/page-slider/page-slider.d.ts +3 -0
  227. package/page-slider/page-slider_public_index.d.ts +4 -0
  228. package/reports/chart-widget.d.ts +3 -0
  229. package/reports/formula-widget.d.ts +3 -0
  230. package/reports/image-container-widget.d.ts +3 -0
  231. package/reports/image-widget.d.ts +3 -0
  232. package/reports/index.d.ts +19 -1
  233. package/reports/map-widget.d.ts +3 -0
  234. package/reports/package.json +6 -6
  235. package/reports/page-break-widget.d.ts +3 -0
  236. package/reports/report.d.ts +3 -0
  237. package/reports/reports-module.d.ts +24 -21
  238. package/reports/reports_public_index.d.ts +4 -0
  239. package/reports/table-widget.d.ts +3 -0
  240. package/reports/text-widget.d.ts +3 -0
  241. package/reports/widget.d.ts +9 -0
  242. package/time/index.d.ts +19 -1
  243. package/time/package.json +6 -6
  244. package/time/time-module.d.ts +8 -21
  245. package/time/time.d.ts +3 -0
  246. package/time/time_public_index.d.ts +4 -0
  247. package/barcode/index.metadata.json +0 -1
  248. package/bundles/material-barcode.umd.js +0 -433
  249. package/bundles/material-barcode.umd.js.map +0 -1
  250. package/bundles/material-calendar.umd.js +0 -435
  251. package/bundles/material-calendar.umd.js.map +0 -1
  252. package/bundles/material-checkbox-group.umd.js +0 -432
  253. package/bundles/material-checkbox-group.umd.js.map +0 -1
  254. package/bundles/material-form-builder.umd.js +0 -3558
  255. package/bundles/material-form-builder.umd.js.map +0 -1
  256. package/bundles/material-forms.umd.js +0 -968
  257. package/bundles/material-forms.umd.js.map +0 -1
  258. package/bundles/material-image.umd.js +0 -420
  259. package/bundles/material-image.umd.js.map +0 -1
  260. package/bundles/material-monaco-editor.umd.js +0 -755
  261. package/bundles/material-monaco-editor.umd.js.map +0 -1
  262. package/bundles/material-node-icon.umd.js +0 -415
  263. package/bundles/material-node-icon.umd.js.map +0 -1
  264. package/bundles/material-page-slider.umd.js +0 -424
  265. package/bundles/material-page-slider.umd.js.map +0 -1
  266. package/bundles/material-report-builder.umd.js +0 -5814
  267. package/bundles/material-report-builder.umd.js.map +0 -1
  268. package/bundles/material-reports.umd.js +0 -731
  269. package/bundles/material-reports.umd.js.map +0 -1
  270. package/bundles/material-time.umd.js +0 -424
  271. package/bundles/material-time.umd.js.map +0 -1
  272. package/bundles/material.umd.js +0 -40
  273. package/calendar/index.metadata.json +0 -1
  274. package/checkbox-group/index.metadata.json +0 -1
  275. package/esm2015/barcode/barcode-module.js +0 -50
  276. package/esm2015/barcode/barcode.externs.js +0 -6
  277. package/esm2015/barcode/barcode.js +0 -52
  278. package/esm2015/barcode/index.js +0 -5
  279. package/esm2015/calendar/calendar-module.js +0 -48
  280. package/esm2015/calendar/calendar.externs.js +0 -6
  281. package/esm2015/calendar/calendar.js +0 -55
  282. package/esm2015/calendar/index.js +0 -5
  283. package/esm2015/checkbox-group/checkbox-group-item.js +0 -51
  284. package/esm2015/checkbox-group/checkbox-group-module.js +0 -47
  285. package/esm2015/checkbox-group/checkbox-group.externs.js +0 -6
  286. package/esm2015/checkbox-group/index.js +0 -5
  287. package/esm2015/form-builder/branch-line.js +0 -73
  288. package/esm2015/form-builder/choices-origin-editor-dialog.js +0 -57
  289. package/esm2015/form-builder/choices-origin-editor.js +0 -78
  290. package/esm2015/form-builder/condition-editor-dialog.js +0 -59
  291. package/esm2015/form-builder/condition-editor.js +0 -143
  292. package/esm2015/form-builder/form-builder-module.js +0 -96
  293. package/esm2015/form-builder/form-builder-service.js +0 -764
  294. package/esm2015/form-builder/form-builder.externs.js +0 -6
  295. package/esm2015/form-builder/form-builder.js +0 -187
  296. package/esm2015/form-builder/index.js +0 -16
  297. package/esm2015/form-builder/node-entry.js +0 -245
  298. package/esm2015/form-builder/node-properties.js +0 -968
  299. package/esm2015/form-builder/node-type-entry.js +0 -50
  300. package/esm2015/form-builder/string-identifier-dialog.js +0 -94
  301. package/esm2015/form-builder/validation-condition-editor-dialog.js +0 -59
  302. package/esm2015/form-builder/warning-condition-editor-dialog.js +0 -59
  303. package/esm2015/forms/barcode-field.js +0 -43
  304. package/esm2015/forms/boolean-field.js +0 -43
  305. package/esm2015/forms/date-field.js +0 -43
  306. package/esm2015/forms/date-input-field.js +0 -65
  307. package/esm2015/forms/empty-field.js +0 -43
  308. package/esm2015/forms/field-service.js +0 -115
  309. package/esm2015/forms/field-warning-dialog.js +0 -32
  310. package/esm2015/forms/field.js +0 -45
  311. package/esm2015/forms/form.js +0 -46
  312. package/esm2015/forms/forms-module.js +0 -107
  313. package/esm2015/forms/forms.externs.js +0 -6
  314. package/esm2015/forms/index.js +0 -9
  315. package/esm2015/forms/input-field.js +0 -43
  316. package/esm2015/forms/multiple-choice-field.js +0 -44
  317. package/esm2015/forms/range-field.js +0 -45
  318. package/esm2015/forms/single-choice-field.js +0 -44
  319. package/esm2015/forms/table-field.js +0 -43
  320. package/esm2015/forms/text-field.js +0 -43
  321. package/esm2015/forms/time-field.js +0 -43
  322. package/esm2015/forms/video-url-field.js +0 -47
  323. package/esm2015/forms/warning-alert-service.js +0 -42
  324. package/esm2015/image/image-module.js +0 -42
  325. package/esm2015/image/image.externs.js +0 -6
  326. package/esm2015/image/image.js +0 -44
  327. package/esm2015/image/index.js +0 -5
  328. package/esm2015/material.externs.js +0 -0
  329. package/esm2015/monaco-editor/index.js +0 -5
  330. package/esm2015/monaco-editor/monaco-editor-module.js +0 -36
  331. package/esm2015/monaco-editor/monaco-editor.externs.js +0 -6
  332. package/esm2015/monaco-editor/monaco-editor.js +0 -389
  333. package/esm2015/node-icon/index.js +0 -5
  334. package/esm2015/node-icon/node-icon-module.js +0 -42
  335. package/esm2015/node-icon/node-icon.externs.js +0 -6
  336. package/esm2015/node-icon/node-icon.js +0 -35
  337. package/esm2015/page-slider/index.js +0 -5
  338. package/esm2015/page-slider/page-slider-module.js +0 -49
  339. package/esm2015/page-slider/page-slider.externs.js +0 -6
  340. package/esm2015/page-slider/page-slider.js +0 -44
  341. package/esm2015/report-builder/column.js +0 -97
  342. package/esm2015/report-builder/condition-editor.js +0 -159
  343. package/esm2015/report-builder/content.js +0 -255
  344. package/esm2015/report-builder/custom-widget-dialog.js +0 -51
  345. package/esm2015/report-builder/custom-widget-toolbar-button.js +0 -70
  346. package/esm2015/report-builder/custom-widgets-toolbar.js +0 -124
  347. package/esm2015/report-builder/forms-analyzer-dialog.js +0 -315
  348. package/esm2015/report-builder/forms-analyzer.js +0 -264
  349. package/esm2015/report-builder/image-group.js +0 -106
  350. package/esm2015/report-builder/index.js +0 -25
  351. package/esm2015/report-builder/models.js +0 -23
  352. package/esm2015/report-builder/properties.js +0 -765
  353. package/esm2015/report-builder/public-api.js +0 -26
  354. package/esm2015/report-builder/quill-editor.js +0 -299
  355. package/esm2015/report-builder/renderer-widget.js +0 -238
  356. package/esm2015/report-builder/report-builder-drag-data.js +0 -23
  357. package/esm2015/report-builder/report-builder-module.js +0 -114
  358. package/esm2015/report-builder/report-builder-service.js +0 -1685
  359. package/esm2015/report-builder/report-builder.externs.js +0 -6
  360. package/esm2015/report-builder/report-builder.js +0 -69
  361. package/esm2015/report-builder/theme-color-dialog.js +0 -90
  362. package/esm2015/report-builder/theme-color.js +0 -215
  363. package/esm2015/report-builder/tokens.js +0 -24
  364. package/esm2015/report-builder/toolbar-dialog.js +0 -56
  365. package/esm2015/report-builder/toolbar.js +0 -90
  366. package/esm2015/report-builder/utils.js +0 -48
  367. package/esm2015/report-builder/widget-toolbar-button.js +0 -47
  368. package/esm2015/report-builder/widgets-row-buttons.js +0 -133
  369. package/esm2015/report-builder/widgets-toolbar.js +0 -79
  370. package/esm2015/reports/chart-widget.js +0 -41
  371. package/esm2015/reports/formula-widget.js +0 -41
  372. package/esm2015/reports/image-container-widget.js +0 -43
  373. package/esm2015/reports/image-widget.js +0 -41
  374. package/esm2015/reports/index.js +0 -5
  375. package/esm2015/reports/map-widget.js +0 -41
  376. package/esm2015/reports/page-break-widget.js +0 -41
  377. package/esm2015/reports/report.js +0 -41
  378. package/esm2015/reports/reports-module.js +0 -79
  379. package/esm2015/reports/reports.externs.js +0 -6
  380. package/esm2015/reports/table-widget.js +0 -41
  381. package/esm2015/reports/text-widget.js +0 -41
  382. package/esm2015/reports/widget.js +0 -120
  383. package/esm2015/time/index.js +0 -5
  384. package/esm2015/time/time-module.js +0 -44
  385. package/esm2015/time/time.externs.js +0 -6
  386. package/esm2015/time/time.js +0 -46
  387. package/fesm2015/barcode.js +0 -129
  388. package/fesm2015/barcode.js.map +0 -1
  389. package/fesm2015/calendar.js +0 -128
  390. package/fesm2015/calendar.js.map +0 -1
  391. package/fesm2015/checkbox-group.js +0 -124
  392. package/fesm2015/checkbox-group.js.map +0 -1
  393. package/fesm2015/form-builder.js +0 -2987
  394. package/fesm2015/form-builder.js.map +0 -1
  395. package/fesm2015/forms.js +0 -923
  396. package/fesm2015/forms.js.map +0 -1
  397. package/fesm2015/image.js +0 -113
  398. package/fesm2015/image.js.map +0 -1
  399. package/fesm2015/material.js.map +0 -1
  400. package/fesm2015/monaco-editor.js.map +0 -1
  401. package/fesm2015/node-icon.js +0 -104
  402. package/fesm2015/node-icon.js.map +0 -1
  403. package/fesm2015/page-slider.js +0 -119
  404. package/fesm2015/page-slider.js.map +0 -1
  405. package/fesm2015/report-builder.js +0 -5332
  406. package/fesm2015/report-builder.js.map +0 -1
  407. package/fesm2015/reports.js +0 -560
  408. package/fesm2015/reports.js.map +0 -1
  409. package/fesm2015/time.js +0 -116
  410. package/fesm2015/time.js.map +0 -1
  411. package/form-builder/index.metadata.json +0 -1
  412. package/forms/index.metadata.json +0 -1
  413. package/image/index.metadata.json +0 -1
  414. package/monaco-editor/index.metadata.json +0 -1
  415. package/node-icon/index.metadata.json +0 -1
  416. package/page-slider/index.metadata.json +0 -1
  417. package/report-builder/_report-builder.scss +0 -0
  418. package/report-builder/column.d.ts +0 -63
  419. package/report-builder/condition-editor.d.ts +0 -67
  420. package/report-builder/content.d.ts +0 -142
  421. package/report-builder/custom-widget-dialog.d.ts +0 -31
  422. package/report-builder/custom-widget-toolbar-button.d.ts +0 -45
  423. package/report-builder/custom-widgets-toolbar.d.ts +0 -71
  424. package/report-builder/forms-analyzer-dialog.d.ts +0 -91
  425. package/report-builder/forms-analyzer.d.ts +0 -102
  426. package/report-builder/image-group.d.ts +0 -69
  427. package/report-builder/index.d.ts +0 -24
  428. package/report-builder/index.metadata.json +0 -1
  429. package/report-builder/models.d.ts +0 -43
  430. package/report-builder/operations.d.ts +0 -45
  431. package/report-builder/package.json +0 -9
  432. package/report-builder/properties.d.ts +0 -365
  433. package/report-builder/public-api.d.ts +0 -26
  434. package/report-builder/quill-editor.d.ts +0 -113
  435. package/report-builder/renderer-widget.d.ts +0 -80
  436. package/report-builder/report-builder-drag-data.d.ts +0 -32
  437. package/report-builder/report-builder-module.d.ts +0 -23
  438. package/report-builder/report-builder-service.d.ts +0 -722
  439. package/report-builder/report-builder.d.ts +0 -36
  440. package/report-builder/theme-color-dialog.d.ts +0 -42
  441. package/report-builder/theme-color.d.ts +0 -108
  442. package/report-builder/tokens.d.ts +0 -24
  443. package/report-builder/toolbar-dialog.d.ts +0 -30
  444. package/report-builder/toolbar.d.ts +0 -48
  445. package/report-builder/utils.d.ts +0 -29
  446. package/report-builder/widget-toolbar-button.d.ts +0 -28
  447. package/report-builder/widgets-row-buttons.d.ts +0 -57
  448. package/report-builder/widgets-toolbar.d.ts +0 -44
  449. package/reports/index.metadata.json +0 -1
  450. package/time/index.metadata.json +0 -1
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @license
3
+ * Copyright (C) Gnucoop soc. coop.
4
+ *
5
+ * This file is part of the Advanced JSON forms (ajf).
6
+ *
7
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
8
+ * modify it under the terms of the GNU Affero General Public License as
9
+ * published by the Free Software Foundation, either version 3 of the License,
10
+ * or (at your option) any later version.
11
+ *
12
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
15
+ * General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Affero General Public License
18
+ * along with Advanced JSON forms (ajf).
19
+ * If not, see http://www.gnu.org/licenses/.
20
+ *
21
+ */
22
+ import { AJF_WARNING_ALERT_SERVICE, AjfBaseFieldComponent, AjfFormRendererService, } from '@ajf/core/forms';
23
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, ViewEncapsulation, } from '@angular/core';
24
+ import { AjfWarningAlertService } from './warning-alert-service';
25
+ import * as i0 from "@angular/core";
26
+ import * as i1 from "@ajf/core/forms";
27
+ import * as i2 from "@ngneat/transloco";
28
+ import * as i3 from "./warning-alert-service";
29
+ export class AjfEmptyFieldComponent extends AjfBaseFieldComponent {
30
+ constructor(cdr, service, was) {
31
+ super(cdr, service, was);
32
+ }
33
+ }
34
+ AjfEmptyFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: AjfEmptyFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
35
+ AjfEmptyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: AjfEmptyFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<h1 [innerHTML]=\"instance.node.label | transloco\"></h1>\n<div [innerHTML]=\"instance.node.HTML | transloco\"></div>\n", styles: ["\n"], pipes: { "transloco": i2.TranslocoPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: AjfEmptyFieldComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<h1 [innerHTML]=\"instance.node.label | transloco\"></h1>\n<div [innerHTML]=\"instance.node.HTML | transloco\"></div>\n", styles: ["\n"] }]
39
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AjfFormRendererService }, { type: i3.AjfWarningAlertService, decorators: [{
40
+ type: Inject,
41
+ args: [AJF_WARNING_ALERT_SERVICE]
42
+ }] }]; } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvZm9ybXMvZW1wdHktZmllbGQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvZm9ybXMvZW1wdHktZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUVyQixzQkFBc0IsR0FDdkIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFRL0QsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHFCQUE0QztJQUN0RixZQUNFLEdBQXNCLEVBQ3RCLE9BQStCLEVBQ0ksR0FBMkI7UUFFOUQsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7d0hBUFUsc0JBQXNCLHlGQUl2Qix5QkFBeUI7NEdBSnhCLHNCQUFzQiwyRUM1Q25DLHlIQUVBO2dHRDBDYSxzQkFBc0I7a0JBTmxDLFNBQVM7c0NBR1MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs7MEJBTWxDLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IChDKSBHbnVjb29wIHNvYy4gY29vcC5cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vclxuICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzXG4gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSxcbiAqIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZmZXJvXG4gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKiBJZiBub3QsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLlxuICpcbiAqL1xuXG5pbXBvcnQge1xuICBBSkZfV0FSTklOR19BTEVSVF9TRVJWSUNFLFxuICBBamZCYXNlRmllbGRDb21wb25lbnQsXG4gIEFqZkVtcHR5RmllbGRJbnN0YW5jZSxcbiAgQWpmRm9ybVJlbmRlcmVyU2VydmljZSxcbn0gZnJvbSAnQGFqZi9jb3JlL2Zvcm1zJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtBamZXYXJuaW5nQWxlcnRTZXJ2aWNlfSBmcm9tICcuL3dhcm5pbmctYWxlcnQtc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJ2VtcHR5LWZpZWxkLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnZW1wdHktZmllbGQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBamZFbXB0eUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWpmQmFzZUZpZWxkQ29tcG9uZW50PEFqZkVtcHR5RmllbGRJbnN0YW5jZT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHNlcnZpY2U6IEFqZkZvcm1SZW5kZXJlclNlcnZpY2UsXG4gICAgQEluamVjdChBSkZfV0FSTklOR19BTEVSVF9TRVJWSUNFKSB3YXM6IEFqZldhcm5pbmdBbGVydFNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKGNkciwgc2VydmljZSwgd2FzKTtcbiAgfVxufVxuIiwiPGgxIFtpbm5lckhUTUxdPVwiaW5zdGFuY2Uubm9kZS5sYWJlbCB8IHRyYW5zbG9jb1wiPjwvaDE+XG48ZGl2IFtpbm5lckhUTUxdPVwiaW5zdGFuY2Uubm9kZS5IVE1MIHwgdHJhbnNsb2NvXCI+PC9kaXY+XG4iXX0=
@@ -0,0 +1,116 @@
1
+ /**
2
+ * @license
3
+ * Copyright (C) Gnucoop soc. coop.
4
+ *
5
+ * This file is part of the Advanced JSON forms (ajf).
6
+ *
7
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
8
+ * modify it under the terms of the GNU Affero General Public License as
9
+ * published by the Free Software Foundation, either version 3 of the License,
10
+ * or (at your option) any later version.
11
+ *
12
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
15
+ * General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Affero General Public License
18
+ * along with Advanced JSON forms (ajf).
19
+ * If not, see http://www.gnu.org/licenses/.
20
+ *
21
+ */
22
+ import { AjfFieldService as CoreService, AjfFieldType, AjfFileFieldComponent, AjfImageFieldComponent, AjfReadOnlyFieldComponent, AjfReadOnlyFileFieldComponent, AjfReadOnlyImageFieldComponent, AjfReadOnlySelectFieldComponent, AjfReadOnlyTableFieldComponent, AjfReadOnlyVideoUrlFieldComponent, } from '@ajf/core/forms';
23
+ import { Injectable } from '@angular/core';
24
+ import { AjfBarcodeFieldComponent } from './barcode-field';
25
+ import { AjfBooleanFieldComponent } from './boolean-field';
26
+ import { AjfDateFieldComponent } from './date-field';
27
+ import { AjfDateInputFieldComponent } from './date-input-field';
28
+ import { AjfEmptyFieldComponent } from './empty-field';
29
+ import { AjfInputFieldComponent } from './input-field';
30
+ import { AjfMultipleChoiceFieldComponent } from './multiple-choice-field';
31
+ import { AjfRangeFieldComponent } from './range-field';
32
+ import { AjfSingleChoiceFieldComponent } from './single-choice-field';
33
+ import { AjfTableFieldComponent } from './table-field';
34
+ import { AjfTextFieldComponent } from './text-field';
35
+ import { AjfTimeFieldComponent } from './time-field';
36
+ import { AjfVideoUrlFieldComponent } from './video-url-field';
37
+ import * as i0 from "@angular/core";
38
+ export class AjfFieldService extends CoreService {
39
+ constructor() {
40
+ super();
41
+ (this.componentsMap[AjfFieldType.String] = {
42
+ component: AjfInputFieldComponent,
43
+ readOnlyComponent: AjfReadOnlyFieldComponent,
44
+ }),
45
+ (this.componentsMap[AjfFieldType.Text] = {
46
+ component: AjfTextFieldComponent,
47
+ readOnlyComponent: AjfReadOnlyFieldComponent,
48
+ }),
49
+ (this.componentsMap[AjfFieldType.Number] = {
50
+ component: AjfInputFieldComponent,
51
+ readOnlyComponent: AjfReadOnlyFieldComponent,
52
+ inputs: { type: 'number' },
53
+ }),
54
+ (this.componentsMap[AjfFieldType.Boolean] = {
55
+ component: AjfBooleanFieldComponent,
56
+ readOnlyComponent: AjfReadOnlyFieldComponent,
57
+ }),
58
+ (this.componentsMap[AjfFieldType.Formula] = {
59
+ component: AjfInputFieldComponent,
60
+ readOnlyComponent: AjfReadOnlyFieldComponent,
61
+ inputs: { readonly: true },
62
+ }),
63
+ (this.componentsMap[AjfFieldType.Date] = {
64
+ component: AjfDateFieldComponent,
65
+ readOnlyComponent: AjfReadOnlyFieldComponent,
66
+ }),
67
+ (this.componentsMap[AjfFieldType.DateInput] = {
68
+ component: AjfDateInputFieldComponent,
69
+ readOnlyComponent: AjfReadOnlyFieldComponent,
70
+ }),
71
+ (this.componentsMap[AjfFieldType.Table] = {
72
+ component: AjfTableFieldComponent,
73
+ readOnlyComponent: AjfReadOnlyTableFieldComponent,
74
+ }),
75
+ (this.componentsMap[AjfFieldType.Empty] = { component: AjfEmptyFieldComponent }),
76
+ (this.componentsMap[AjfFieldType.SingleChoice] = {
77
+ component: AjfSingleChoiceFieldComponent,
78
+ readOnlyComponent: AjfReadOnlySelectFieldComponent,
79
+ }),
80
+ (this.componentsMap[AjfFieldType.MultipleChoice] = {
81
+ component: AjfMultipleChoiceFieldComponent,
82
+ readOnlyComponent: AjfReadOnlySelectFieldComponent,
83
+ }),
84
+ (this.componentsMap[AjfFieldType.Time] = {
85
+ component: AjfTimeFieldComponent,
86
+ readOnlyComponent: AjfReadOnlyFieldComponent,
87
+ }),
88
+ (this.componentsMap[AjfFieldType.Barcode] = {
89
+ component: AjfBarcodeFieldComponent,
90
+ readOnlyComponent: AjfReadOnlyFieldComponent,
91
+ });
92
+ this.componentsMap[AjfFieldType.File] = {
93
+ component: AjfFileFieldComponent,
94
+ readOnlyComponent: AjfReadOnlyFileFieldComponent,
95
+ };
96
+ this.componentsMap[AjfFieldType.Image] = {
97
+ component: AjfImageFieldComponent,
98
+ readOnlyComponent: AjfReadOnlyImageFieldComponent,
99
+ };
100
+ this.componentsMap[AjfFieldType.VideoUrl] = {
101
+ component: AjfVideoUrlFieldComponent,
102
+ readOnlyComponent: AjfReadOnlyVideoUrlFieldComponent,
103
+ };
104
+ this.componentsMap[AjfFieldType.Range] = {
105
+ component: AjfRangeFieldComponent,
106
+ readOnlyComponent: AjfReadOnlyFieldComponent,
107
+ };
108
+ }
109
+ }
110
+ AjfFieldService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: AjfFieldService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
111
+ AjfFieldService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: AjfFieldService, providedIn: 'root' });
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: AjfFieldService, decorators: [{
113
+ type: Injectable,
114
+ args: [{ providedIn: 'root' }]
115
+ }], ctorParameters: function () { return []; } });
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9mb3Jtcy9maWVsZC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUVILE9BQU8sRUFDTCxlQUFlLElBQUksV0FBVyxFQUM5QixZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5QiwrQkFBK0IsRUFDL0IsOEJBQThCLEVBQzlCLGlDQUFpQyxHQUNsQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDeEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDOztBQUc1RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBQzlDO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHO1lBQ3pDLFNBQVMsRUFBRSxzQkFBc0I7WUFDakMsaUJBQWlCLEVBQUUseUJBQXlCO1NBQzdDLENBQUM7WUFDQSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUN2QyxTQUFTLEVBQUUscUJBQXFCO2dCQUNoQyxpQkFBaUIsRUFBRSx5QkFBeUI7YUFDN0MsQ0FBQztZQUNGLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUc7Z0JBQ3pDLFNBQVMsRUFBRSxzQkFBc0I7Z0JBQ2pDLGlCQUFpQixFQUFFLHlCQUF5QjtnQkFDNUMsTUFBTSxFQUFFLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQzthQUN6QixDQUFDO1lBQ0YsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRztnQkFDMUMsU0FBUyxFQUFFLHdCQUF3QjtnQkFDbkMsaUJBQWlCLEVBQUUseUJBQXlCO2FBQzdDLENBQUM7WUFDRixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHO2dCQUMxQyxTQUFTLEVBQUUsc0JBQXNCO2dCQUNqQyxpQkFBaUIsRUFBRSx5QkFBeUI7Z0JBQzVDLE1BQU0sRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUM7YUFDekIsQ0FBQztZQUNGLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQ3ZDLFNBQVMsRUFBRSxxQkFBcUI7Z0JBQ2hDLGlCQUFpQixFQUFFLHlCQUF5QjthQUM3QyxDQUFDO1lBQ0YsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRztnQkFDNUMsU0FBUyxFQUFFLDBCQUEwQjtnQkFDckMsaUJBQWlCLEVBQUUseUJBQXlCO2FBQzdDLENBQUM7WUFDRixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHO2dCQUN4QyxTQUFTLEVBQUUsc0JBQXNCO2dCQUNqQyxpQkFBaUIsRUFBRSw4QkFBOEI7YUFDbEQsQ0FBQztZQUNGLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUMsQ0FBQztZQUM5RSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxHQUFHO2dCQUMvQyxTQUFTLEVBQUUsNkJBQTZCO2dCQUN4QyxpQkFBaUIsRUFBRSwrQkFBK0I7YUFDbkQsQ0FBQztZQUNGLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEdBQUc7Z0JBQ2pELFNBQVMsRUFBRSwrQkFBK0I7Z0JBQzFDLGlCQUFpQixFQUFFLCtCQUErQjthQUNuRCxDQUFDO1lBQ0YsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFDdkMsU0FBUyxFQUFFLHFCQUFxQjtnQkFDaEMsaUJBQWlCLEVBQUUseUJBQXlCO2FBQzdDLENBQUM7WUFDRixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHO2dCQUMxQyxTQUFTLEVBQUUsd0JBQXdCO2dCQUNuQyxpQkFBaUIsRUFBRSx5QkFBeUI7YUFDN0MsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDdEMsU0FBUyxFQUFFLHFCQUFxQjtZQUNoQyxpQkFBaUIsRUFBRSw2QkFBNkI7U0FDakQsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHO1lBQ3ZDLFNBQVMsRUFBRSxzQkFBc0I7WUFDakMsaUJBQWlCLEVBQUUsOEJBQThCO1NBQ2xELENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRztZQUMxQyxTQUFTLEVBQUUseUJBQXlCO1lBQ3BDLGlCQUFpQixFQUFFLGlDQUFpQztTQUNyRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDdkMsU0FBUyxFQUFFLHNCQUFzQjtZQUNqQyxpQkFBaUIsRUFBRSx5QkFBeUI7U0FDN0MsQ0FBQztJQUNKLENBQUM7O2lIQXRFVSxlQUFlO3FIQUFmLGVBQWUsY0FESCxNQUFNO2dHQUNsQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtcbiAgQWpmRmllbGRTZXJ2aWNlIGFzIENvcmVTZXJ2aWNlLFxuICBBamZGaWVsZFR5cGUsXG4gIEFqZkZpbGVGaWVsZENvbXBvbmVudCxcbiAgQWpmSW1hZ2VGaWVsZENvbXBvbmVudCxcbiAgQWpmUmVhZE9ubHlGaWVsZENvbXBvbmVudCxcbiAgQWpmUmVhZE9ubHlGaWxlRmllbGRDb21wb25lbnQsXG4gIEFqZlJlYWRPbmx5SW1hZ2VGaWVsZENvbXBvbmVudCxcbiAgQWpmUmVhZE9ubHlTZWxlY3RGaWVsZENvbXBvbmVudCxcbiAgQWpmUmVhZE9ubHlUYWJsZUZpZWxkQ29tcG9uZW50LFxuICBBamZSZWFkT25seVZpZGVvVXJsRmllbGRDb21wb25lbnQsXG59IGZyb20gJ0BhamYvY29yZS9mb3Jtcyc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0FqZkJhcmNvZGVGaWVsZENvbXBvbmVudH0gZnJvbSAnLi9iYXJjb2RlLWZpZWxkJztcbmltcG9ydCB7QWpmQm9vbGVhbkZpZWxkQ29tcG9uZW50fSBmcm9tICcuL2Jvb2xlYW4tZmllbGQnO1xuaW1wb3J0IHtBamZEYXRlRmllbGRDb21wb25lbnR9IGZyb20gJy4vZGF0ZS1maWVsZCc7XG5pbXBvcnQge0FqZkRhdGVJbnB1dEZpZWxkQ29tcG9uZW50fSBmcm9tICcuL2RhdGUtaW5wdXQtZmllbGQnO1xuaW1wb3J0IHtBamZFbXB0eUZpZWxkQ29tcG9uZW50fSBmcm9tICcuL2VtcHR5LWZpZWxkJztcbmltcG9ydCB7QWpmSW5wdXRGaWVsZENvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1maWVsZCc7XG5pbXBvcnQge0FqZk11bHRpcGxlQ2hvaWNlRmllbGRDb21wb25lbnR9IGZyb20gJy4vbXVsdGlwbGUtY2hvaWNlLWZpZWxkJztcbmltcG9ydCB7QWpmUmFuZ2VGaWVsZENvbXBvbmVudH0gZnJvbSAnLi9yYW5nZS1maWVsZCc7XG5pbXBvcnQge0FqZlNpbmdsZUNob2ljZUZpZWxkQ29tcG9uZW50fSBmcm9tICcuL3NpbmdsZS1jaG9pY2UtZmllbGQnO1xuaW1wb3J0IHtBamZUYWJsZUZpZWxkQ29tcG9uZW50fSBmcm9tICcuL3RhYmxlLWZpZWxkJztcbmltcG9ydCB7QWpmVGV4dEZpZWxkQ29tcG9uZW50fSBmcm9tICcuL3RleHQtZmllbGQnO1xuaW1wb3J0IHtBamZUaW1lRmllbGRDb21wb25lbnR9IGZyb20gJy4vdGltZS1maWVsZCc7XG5pbXBvcnQge0FqZlZpZGVvVXJsRmllbGRDb21wb25lbnR9IGZyb20gJy4vdmlkZW8tdXJsLWZpZWxkJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQWpmRmllbGRTZXJ2aWNlIGV4dGVuZHMgQ29yZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgICh0aGlzLmNvbXBvbmVudHNNYXBbQWpmRmllbGRUeXBlLlN0cmluZ10gPSB7XG4gICAgICBjb21wb25lbnQ6IEFqZklucHV0RmllbGRDb21wb25lbnQsXG4gICAgICByZWFkT25seUNvbXBvbmVudDogQWpmUmVhZE9ubHlGaWVsZENvbXBvbmVudCxcbiAgICB9KSxcbiAgICAgICh0aGlzLmNvbXBvbmVudHNNYXBbQWpmRmllbGRUeXBlLlRleHRdID0ge1xuICAgICAgICBjb21wb25lbnQ6IEFqZlRleHRGaWVsZENvbXBvbmVudCxcbiAgICAgICAgcmVhZE9ubHlDb21wb25lbnQ6IEFqZlJlYWRPbmx5RmllbGRDb21wb25lbnQsXG4gICAgICB9KSxcbiAgICAgICh0aGlzLmNvbXBvbmVudHNNYXBbQWpmRmllbGRUeXBlLk51bWJlcl0gPSB7XG4gICAgICAgIGNvbXBvbmVudDogQWpmSW5wdXRGaWVsZENvbXBvbmVudCxcbiAgICAgICAgcmVhZE9ubHlDb21wb25lbnQ6IEFqZlJlYWRPbmx5RmllbGRDb21wb25lbnQsXG4gICAgICAgIGlucHV0czoge3R5cGU6ICdudW1iZXInfSxcbiAgICAgIH0pLFxuICAgICAgKHRoaXMuY29tcG9uZW50c01hcFtBamZGaWVsZFR5cGUuQm9vbGVhbl0gPSB7XG4gICAgICAgIGNvbXBvbmVudDogQWpmQm9vbGVhbkZpZWxkQ29tcG9uZW50LFxuICAgICAgICByZWFkT25seUNvbXBvbmVudDogQWpmUmVhZE9ubHlGaWVsZENvbXBvbmVudCxcbiAgICAgIH0pLFxuICAgICAgKHRoaXMuY29tcG9uZW50c01hcFtBamZGaWVsZFR5cGUuRm9ybXVsYV0gPSB7XG4gICAgICAgIGNvbXBvbmVudDogQWpmSW5wdXRGaWVsZENvbXBvbmVudCxcbiAgICAgICAgcmVhZE9ubHlDb21wb25lbnQ6IEFqZlJlYWRPbmx5RmllbGRDb21wb25lbnQsXG4gICAgICAgIGlucHV0czoge3JlYWRvbmx5OiB0cnVlfSxcbiAgICAgIH0pLFxuICAgICAgKHRoaXMuY29tcG9uZW50c01hcFtBamZGaWVsZFR5cGUuRGF0ZV0gPSB7XG4gICAgICAgIGNvbXBvbmVudDogQWpmRGF0ZUZpZWxkQ29tcG9uZW50LFxuICAgICAgICByZWFkT25seUNvbXBvbmVudDogQWpmUmVhZE9ubHlGaWVsZENvbXBvbmVudCxcbiAgICAgIH0pLFxuICAgICAgKHRoaXMuY29tcG9uZW50c01hcFtBamZGaWVsZFR5cGUuRGF0ZUlucHV0XSA9IHtcbiAgICAgICAgY29tcG9uZW50OiBBamZEYXRlSW5wdXRGaWVsZENvbXBvbmVudCxcbiAgICAgICAgcmVhZE9ubHlDb21wb25lbnQ6IEFqZlJlYWRPbmx5RmllbGRDb21wb25lbnQsXG4gICAgICB9KSxcbiAgICAgICh0aGlzLmNvbXBvbmVudHNNYXBbQWpmRmllbGRUeXBlLlRhYmxlXSA9IHtcbiAgICAgICAgY29tcG9uZW50OiBBamZUYWJsZUZpZWxkQ29tcG9uZW50LFxuICAgICAgICByZWFkT25seUNvbXBvbmVudDogQWpmUmVhZE9ubHlUYWJsZUZpZWxkQ29tcG9uZW50LFxuICAgICAgfSksXG4gICAgICAodGhpcy5jb21wb25lbnRzTWFwW0FqZkZpZWxkVHlwZS5FbXB0eV0gPSB7Y29tcG9uZW50OiBBamZFbXB0eUZpZWxkQ29tcG9uZW50fSksXG4gICAgICAodGhpcy5jb21wb25lbnRzTWFwW0FqZkZpZWxkVHlwZS5TaW5nbGVDaG9pY2VdID0ge1xuICAgICAgICBjb21wb25lbnQ6IEFqZlNpbmdsZUNob2ljZUZpZWxkQ29tcG9uZW50LFxuICAgICAgICByZWFkT25seUNvbXBvbmVudDogQWpmUmVhZE9ubHlTZWxlY3RGaWVsZENvbXBvbmVudCxcbiAgICAgIH0pLFxuICAgICAgKHRoaXMuY29tcG9uZW50c01hcFtBamZGaWVsZFR5cGUuTXVsdGlwbGVDaG9pY2VdID0ge1xuICAgICAgICBjb21wb25lbnQ6IEFqZk11bHRpcGxlQ2hvaWNlRmllbGRDb21wb25lbnQsXG4gICAgICAgIHJlYWRPbmx5Q29tcG9uZW50OiBBamZSZWFkT25seVNlbGVjdEZpZWxkQ29tcG9uZW50LFxuICAgICAgfSksXG4gICAgICAodGhpcy5jb21wb25lbnRzTWFwW0FqZkZpZWxkVHlwZS5UaW1lXSA9IHtcbiAgICAgICAgY29tcG9uZW50OiBBamZUaW1lRmllbGRDb21wb25lbnQsXG4gICAgICAgIHJlYWRPbmx5Q29tcG9uZW50OiBBamZSZWFkT25seUZpZWxkQ29tcG9uZW50LFxuICAgICAgfSksXG4gICAgICAodGhpcy5jb21wb25lbnRzTWFwW0FqZkZpZWxkVHlwZS5CYXJjb2RlXSA9IHtcbiAgICAgICAgY29tcG9uZW50OiBBamZCYXJjb2RlRmllbGRDb21wb25lbnQsXG4gICAgICAgIHJlYWRPbmx5Q29tcG9uZW50OiBBamZSZWFkT25seUZpZWxkQ29tcG9uZW50LFxuICAgICAgfSk7XG4gICAgdGhpcy5jb21wb25lbnRzTWFwW0FqZkZpZWxkVHlwZS5GaWxlXSA9IHtcbiAgICAgIGNvbXBvbmVudDogQWpmRmlsZUZpZWxkQ29tcG9uZW50LFxuICAgICAgcmVhZE9ubHlDb21wb25lbnQ6IEFqZlJlYWRPbmx5RmlsZUZpZWxkQ29tcG9uZW50LFxuICAgIH07XG4gICAgdGhpcy5jb21wb25lbnRzTWFwW0FqZkZpZWxkVHlwZS5JbWFnZV0gPSB7XG4gICAgICBjb21wb25lbnQ6IEFqZkltYWdlRmllbGRDb21wb25lbnQsXG4gICAgICByZWFkT25seUNvbXBvbmVudDogQWpmUmVhZE9ubHlJbWFnZUZpZWxkQ29tcG9uZW50LFxuICAgIH07XG4gICAgdGhpcy5jb21wb25lbnRzTWFwW0FqZkZpZWxkVHlwZS5WaWRlb1VybF0gPSB7XG4gICAgICBjb21wb25lbnQ6IEFqZlZpZGVvVXJsRmllbGRDb21wb25lbnQsXG4gICAgICByZWFkT25seUNvbXBvbmVudDogQWpmUmVhZE9ubHlWaWRlb1VybEZpZWxkQ29tcG9uZW50LFxuICAgIH07XG4gICAgdGhpcy5jb21wb25lbnRzTWFwW0FqZkZpZWxkVHlwZS5SYW5nZV0gPSB7XG4gICAgICBjb21wb25lbnQ6IEFqZlJhbmdlRmllbGRDb21wb25lbnQsXG4gICAgICByZWFkT25seUNvbXBvbmVudDogQWpmUmVhZE9ubHlGaWVsZENvbXBvbmVudCxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @license
3
+ * Copyright (C) Gnucoop soc. coop.
4
+ *
5
+ * This file is part of the Advanced JSON forms (ajf).
6
+ *
7
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
8
+ * modify it under the terms of the GNU Affero General Public License as
9
+ * published by the Free Software Foundation, either version 3 of the License,
10
+ * or (at your option) any later version.
11
+ *
12
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
15
+ * General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Affero General Public License
18
+ * along with Advanced JSON forms (ajf).
19
+ * If not, see http://www.gnu.org/licenses/.
20
+ *
21
+ */
22
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
23
+ import * as i0 from "@angular/core";
24
+ import * as i1 from "@angular/material/button";
25
+ import * as i2 from "@angular/material/dialog";
26
+ export class AjfFieldWarningDialog {
27
+ }
28
+ AjfFieldWarningDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: AjfFieldWarningDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ AjfFieldWarningDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: AjfFieldWarningDialog, selector: "ng-component", ngImport: i0, template: "<mat-dialog-content><div [innerHTML]=\"message\"></div></mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"true\">Ok</button>\n <button mat-button [mat-dialog-close]=\"false\">Cancel</button>\n</mat-dialog-actions>\n", components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: AjfFieldWarningDialog, decorators: [{
31
+ type: Component,
32
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<mat-dialog-content><div [innerHTML]=\"message\"></div></mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button [mat-dialog-close]=\"true\">Ok</button>\n <button mat-button [mat-dialog-close]=\"false\">Cancel</button>\n</mat-dialog-actions>\n" }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtd2FybmluZy1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvZm9ybXMvZmllbGQtd2FybmluZy1kaWFsb2cudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvZm9ybXMvZmllbGQtd2FybmluZy1kaWFsb2cuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3BGLE1BQU0sT0FBTyxxQkFBcUI7O3VIQUFyQixxQkFBcUI7MkdBQXJCLHFCQUFxQixvREM3QmxDLDhQQUtBO2dHRHdCYSxxQkFBcUI7a0JBTGpDLFNBQVM7c0NBRVMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJ2ZpZWxkLXdhcm5pbmctZGlhbG9nLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQWpmRmllbGRXYXJuaW5nRGlhbG9nIHtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuIiwiPG1hdC1kaWFsb2ctY29udGVudD48ZGl2IFtpbm5lckhUTUxdPVwibWVzc2FnZVwiPjwvZGl2PjwvbWF0LWRpYWxvZy1jb250ZW50PlxuPG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIj5PazwvYnV0dG9uPlxuICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwiZmFsc2VcIj5DYW5jZWw8L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @license
3
+ * Copyright (C) Gnucoop soc. coop.
4
+ *
5
+ * This file is part of the Advanced JSON forms (ajf).
6
+ *
7
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
8
+ * modify it under the terms of the GNU Affero General Public License as
9
+ * published by the Free Software Foundation, either version 3 of the License,
10
+ * or (at your option) any later version.
11
+ *
12
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
15
+ * General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Affero General Public License
18
+ * along with Advanced JSON forms (ajf).
19
+ * If not, see http://www.gnu.org/licenses/.
20
+ *
21
+ */
22
+ import { AjfFormField as CoreFormField } from '@ajf/core/forms';
23
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentFactoryResolver, ViewEncapsulation, } from '@angular/core';
24
+ import { AjfFieldService } from './field-service';
25
+ import * as i0 from "@angular/core";
26
+ import * as i1 from "./field-service";
27
+ import * as i2 from "@angular/common";
28
+ import * as i3 from "@ajf/core/forms";
29
+ import * as i4 from "@ngneat/transloco";
30
+ export class AjfFormField extends CoreFormField {
31
+ constructor(cdr, cfr, fieldService) {
32
+ super(cdr, cfr);
33
+ this.componentsMap = fieldService.componentsMap;
34
+ }
35
+ }
36
+ AjfFormField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: AjfFormField, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }, { token: i1.AjfFieldService }], target: i0.ɵɵFactoryTarget.Component });
37
+ AjfFormField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: AjfFormField, selector: "ajf-field,ajf-form-field", usesInheritance: true, ngImport: i0, template: "<div\n [ngClass]=\"'ajf-field-' + (instance|ajfNodeCompleteName)\"\n [class.ajf-validated]=\"instance.validationResults|ajfFieldIsValid\"\n>\n <ng-template ajf-field-host></ng-template>\n</div>\n<ng-container *ngIf=\"instance && instance.node && instance.node.attachments\">\n <a *ngFor=\"let attachment of instance.node.attachments\"\n [href]=\"attachment.value\" target=\"_blank\">{{attachment.label | transloco}}</a>\n</ng-container>\n<div *ngIf=\"!readonly && instance && instance.validationResults\" class=\"ajf-errors\">\n <ng-container *ngFor=\"let res of instance.validationResults\">\n <div class=\"error\" *ngIf=\"!res.result\">\n {{ res.error|transloco }} \n </div>\n </ng-container>\n</div>\n", styles: ["ajf-field .ajf-choices-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch}ajf-field .ajf-item-container{position:relative}ajf-field .ajf-errors{font-style:italic;padding:5px}ajf-field tr.ajf-row-odd{background-color:gray}table{border-collapse:collapse;border-spacing:0}table tr td{position:relative}table tr td span,table tr td input{cursor:text;position:absolute;width:100%;box-sizing:border-box;outline:none;top:0;right:0;bottom:0;left:0;display:inline-block;border-top:solid 1px #ccc;border-right:solid 1px transparent;border-bottom:solid 1px transparent;border-left:solid 1px #ccc;font-family:inherit;font-size:inherit;line-height:inherit;text-align:center}table tr td:last-child span,table tr td:last-child input{border-right-color:#ccc}table tr:last-of-type td span,table tr:last-of-type td input{border-bottom-color:#ccc}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.AjfFieldHost, selector: "[ajf-field-host]" }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "ajfNodeCompleteName": i3.AjfNodeCompleteNamePipe, "ajfFieldIsValid": i3.AjfFieldIsValidPipe, "transloco": i4.TranslocoPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: AjfFormField, decorators: [{
39
+ type: Component,
40
+ args: [{ selector: 'ajf-field,ajf-form-field', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n [ngClass]=\"'ajf-field-' + (instance|ajfNodeCompleteName)\"\n [class.ajf-validated]=\"instance.validationResults|ajfFieldIsValid\"\n>\n <ng-template ajf-field-host></ng-template>\n</div>\n<ng-container *ngIf=\"instance && instance.node && instance.node.attachments\">\n <a *ngFor=\"let attachment of instance.node.attachments\"\n [href]=\"attachment.value\" target=\"_blank\">{{attachment.label | transloco}}</a>\n</ng-container>\n<div *ngIf=\"!readonly && instance && instance.validationResults\" class=\"ajf-errors\">\n <ng-container *ngFor=\"let res of instance.validationResults\">\n <div class=\"error\" *ngIf=\"!res.result\">\n {{ res.error|transloco }} \n </div>\n </ng-container>\n</div>\n", styles: ["ajf-field .ajf-choices-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch}ajf-field .ajf-item-container{position:relative}ajf-field .ajf-errors{font-style:italic;padding:5px}ajf-field tr.ajf-row-odd{background-color:gray}table{border-collapse:collapse;border-spacing:0}table tr td{position:relative}table tr td span,table tr td input{cursor:text;position:absolute;width:100%;box-sizing:border-box;outline:none;top:0;right:0;bottom:0;left:0;display:inline-block;border-top:solid 1px #ccc;border-right:solid 1px transparent;border-bottom:solid 1px transparent;border-left:solid 1px #ccc;font-family:inherit;font-size:inherit;line-height:inherit;text-align:center}table tr td:last-child span,table tr td:last-child input{border-right-color:#ccc}table tr:last-of-type td span,table tr:last-of-type td input{border-bottom-color:#ccc}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
41
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ComponentFactoryResolver }, { type: i1.AjfFieldService }]; } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvZm9ybXMvZmllbGQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvZm9ybXMvZmllbGQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQXdCLFlBQVksSUFBSSxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQVNoRCxNQUFNLE9BQU8sWUFBYSxTQUFRLGFBQWE7SUFHN0MsWUFDRSxHQUFzQixFQUN0QixHQUE2QixFQUM3QixZQUE2QjtRQUU3QixLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDOzs4R0FWVSxZQUFZO2tHQUFaLFlBQVksdUZDekN6QiwwdEJBaUJBO2dHRHdCYSxZQUFZO2tCQVB4QixTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoQykgR251Y29vcCBzb2MuIGNvb3AuXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikuXG4gKlxuICogQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3JcbiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsXG4gKiBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEFmZmVyb1xuICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICogSWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy5cbiAqXG4gKi9cblxuaW1wb3J0IHtBamZGaWVsZENvbXBvbmVudHNNYXAsIEFqZkZvcm1GaWVsZCBhcyBDb3JlRm9ybUZpZWxkfSBmcm9tICdAYWpmL2NvcmUvZm9ybXMnO1xuaW1wb3J0IHtCb29sZWFuSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QWpmRmllbGRTZXJ2aWNlfSBmcm9tICcuL2ZpZWxkLXNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhamYtZmllbGQsYWpmLWZvcm0tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJ2ZpZWxkLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnZmllbGQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBamZGb3JtRmllbGQgZXh0ZW5kcyBDb3JlRm9ybUZpZWxkIHtcbiAgcmVhZG9ubHkgY29tcG9uZW50c01hcDogQWpmRmllbGRDb21wb25lbnRzTWFwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgY2ZyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgZmllbGRTZXJ2aWNlOiBBamZGaWVsZFNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKGNkciwgY2ZyKTtcbiAgICB0aGlzLmNvbXBvbmVudHNNYXAgPSBmaWVsZFNlcnZpY2UuY29tcG9uZW50c01hcDtcbiAgfVxuXG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9yZWFkb25seTogQm9vbGVhbklucHV0O1xufVxuIiwiPGRpdlxuICAgIFtuZ0NsYXNzXT1cIidhamYtZmllbGQtJyArIChpbnN0YW5jZXxhamZOb2RlQ29tcGxldGVOYW1lKVwiXG4gICAgW2NsYXNzLmFqZi12YWxpZGF0ZWRdPVwiaW5zdGFuY2UudmFsaWRhdGlvblJlc3VsdHN8YWpmRmllbGRJc1ZhbGlkXCJcbj5cbiAgPG5nLXRlbXBsYXRlIGFqZi1maWVsZC1ob3N0PjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpbnN0YW5jZSAmJiBpbnN0YW5jZS5ub2RlICYmIGluc3RhbmNlLm5vZGUuYXR0YWNobWVudHNcIj5cbiAgPGEgKm5nRm9yPVwibGV0IGF0dGFjaG1lbnQgb2YgaW5zdGFuY2Uubm9kZS5hdHRhY2htZW50c1wiXG4gICAgW2hyZWZdPVwiYXR0YWNobWVudC52YWx1ZVwiIHRhcmdldD1cIl9ibGFua1wiPnt7YXR0YWNobWVudC5sYWJlbCB8IHRyYW5zbG9jb319PC9hPlxuPC9uZy1jb250YWluZXI+XG48ZGl2ICpuZ0lmPVwiIXJlYWRvbmx5ICYmIGluc3RhbmNlICYmIGluc3RhbmNlLnZhbGlkYXRpb25SZXN1bHRzXCIgY2xhc3M9XCJhamYtZXJyb3JzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJlcyBvZiBpbnN0YW5jZS52YWxpZGF0aW9uUmVzdWx0c1wiPlxuICAgIDxkaXYgY2xhc3M9XCJlcnJvclwiICpuZ0lmPVwiIXJlcy5yZXN1bHRcIj5cbiAgICAgIHt7IHJlcy5lcnJvcnx0cmFuc2xvY28gfX0gXG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @license
3
+ * Copyright (C) Gnucoop soc. coop.
4
+ *
5
+ * This file is part of the Advanced JSON forms (ajf).
6
+ *
7
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
8
+ * modify it under the terms of the GNU Affero General Public License as
9
+ * published by the Free Software Foundation, either version 3 of the License,
10
+ * or (at your option) any later version.
11
+ *
12
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
15
+ * General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Affero General Public License
18
+ * along with Advanced JSON forms (ajf).
19
+ * If not, see http://www.gnu.org/licenses/.
20
+ *
21
+ */
22
+ import { AjfFormRenderer as AjfCoreFormRenderer, AjfFormRendererService } from '@ajf/core/forms';
23
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewEncapsulation, } from '@angular/core';
24
+ import * as i0 from "@angular/core";
25
+ import * as i1 from "@ajf/core/forms";
26
+ import * as i2 from "@angular/material/toolbar";
27
+ import * as i3 from "@angular/material/button";
28
+ import * as i4 from "@ajf/material/page-slider";
29
+ import * as i5 from "@ajf/core/page-slider";
30
+ import * as i6 from "@angular/material/card";
31
+ import * as i7 from "@angular/material/icon";
32
+ import * as i8 from "./field";
33
+ import * as i9 from "@angular/common";
34
+ import * as i10 from "@angular/forms";
35
+ import * as i11 from "@angular/material/tooltip";
36
+ import * as i12 from "@ngneat/transloco";
37
+ export class AjfFormRenderer extends AjfCoreFormRenderer {
38
+ constructor(rendererService, changeDetectorRef) {
39
+ super(rendererService, changeDetectorRef);
40
+ this.topBar = false;
41
+ }
42
+ }
43
+ AjfFormRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: AjfFormRenderer, deps: [{ token: i1.AjfFormRendererService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
44
+ AjfFormRenderer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-rc.3", type: AjfFormRenderer, selector: "ajf-form", inputs: { topBar: "topBar" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"formGroup|async as fg\">\n <form novalidate [formGroup]=\"fg!\">\n <div class=\"ajf-form-container\">\n <mat-toolbar *ngIf=\"!hideTopToolbar && topBar\" class=\"ajf-btn-strip\">\n <ng-template\n ngFor\n let-slideInstance\n [ngForOf]=\"slides|async\"\n [ngForTrackBy]=\"trackNodeById\"\n >\n <button\n mat-button\n class=\"ajf-topbar-button\"\n *ngIf=\"slideInstance.node != null && slideInstance.node.label != null && slideInstance.node.label.length > 0\"\n (click)=\"scrollToSlide(slideInstance)\"\n >\n {{slideInstance.node.label | transloco}}\n </button>\n </ng-template>\n </mat-toolbar>\n <mat-toolbar *ngIf=\"!hideTopToolbar\">\n {{ title }}\n <span class=\"ajf-spacer\"></span>\n <!-- this content projection allow to add buttons on toolbar -->\n <ng-content select=\"[ajfFormTopToolbarButtons]\"></ng-content>\n <!-- apply a default save button only when ajfFormSaveButton is empty -->\n <span *ngIf=\"!saveDisabled\" (click)=\"onSave($event)\">\n <span #saveButton\n ><ng-content select=\"[ajfFormSaveButton]\"></ng-content\n ></span>\n <button\n *ngIf=\"saveButton != null && saveButton.childNodes != null && saveButton.childNodes.length == 0\"\n mat-button\n default\n >\n {{'Save'|transloco}}\n </button>\n </span>\n </mat-toolbar>\n <div class=\"ajf-slider-container\">\n <ajf-page-slider\n (orientationChange)=\"orientationChangeHandler($event)\"\n [fixedOrientation]=\"fixedOrientation\"\n [hideNavigationButtons]=\"hideNavigationButtons\"\n [orientation]=\"orientation\"\n #formSlider\n >\n <ng-container *ngIf=\"(slides|async) as curSlides\">\n <ng-container *ngIf=\"curSlides!.length > 0 && hasStartMessage\">\n <ajf-page-slider-item>\n <div class=\"ajf-form-page\">\n <mat-card>\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span class=\"ajf-form-header-number\"> 1 &rarr; </span>\n <span class=\"ajf-title\">\n <ng-content\n select=\"[ajfFormStartMessageTitle]\"\n ></ng-content>\n </span>\n </h2>\n </div>\n </mat-card-header>\n <mat-card-content>\n <ng-content select=\"[ajfFormStartMessage]\"></ng-content>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n <ng-container\n *ngFor=\"let slideInstance of curSlides; trackBy:trackNodeById\"\n >\n <!-- non repeating slides -->\n <ng-container *ngIf=\"slideInstance.visible\">\n <ng-container\n *ngIf=\"!(slideInstance|ajfIsRepeatingSlideInstance)\"\n >\n <ajf-page-slider-item>\n <div class=\"ajf-form-page\">\n <mat-card>\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span class=\"ajf-form-header-number\"\n >{{ slideInstance.position + (hasStartMessage |\n ajfBoolToInt) }} &rarr;</span\n >\n <span\n [innerHTML]=\"slideInstance.node.label | transloco\"\n ></span>\n </h2>\n <mat-icon\n class=\"ajf-warning\"\n *ngIf=\"!slideInstance.valid\"\n >warning</mat-icon\n >\n <mat-icon\n class=\"ajf-success\"\n *ngIf=\"slideInstance.valid\"\n >check</mat-icon\n >\n </div>\n </mat-card-header>\n <mat-card-content>\n <ng-template\n ngFor\n let-fieldInstance\n [ngForOf]=\"slideInstance.flatNodes\"\n [ngForTrackBy]=\"trackNodeById\"\n >\n <div\n [ngClass]=\"'ajf-' + (fieldInstance|ajfAsFieldInstance).node.size\"\n class=\"ajf-field-entry\"\n *ngIf=\"fieldInstance.visible\"\n >\n <i\n [class]=\"(fieldInstance|ajfAsFieldInstance).node.fieldType | ajfFieldIcon\"\n item-right\n ></i>\n <p>\n {{\n ((fieldInstance|ajfAsFieldInstance).node.description\n || '') | transloco }}\n </p>\n <label\n [attr.id]=\"fieldInstance.node.name\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node.fieldType !== 7\"\n [innerHTML]=\"fieldInstance.node.label | transloco\"\n ></label>\n <mat-icon\n class=\"ajf-tooltip-icon\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node?.hint as hint\"\n [matTooltip]=\"hint\"\n matTooltipPosition=\"right\"\n >\n {{(fieldInstance|ajfAsFieldInstance).node?.hintIcon\n || 'help'}}</mat-icon\n >\n <ajf-field\n [instance]=\"fieldInstance|ajfAsFieldInstance\"\n [readonly]=\"readonly || !slideInstance.editable\"\n >\n </ajf-field>\n </div>\n </ng-template>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n <!-- repeating slides -->\n <ng-container\n *ngIf=\"(slideInstance|ajfIsRepeatingSlideInstance)\"\n >\n <ajf-page-slider-item\n *ngFor=\"let curRep of ((slideInstance|ajfAsRepeatingSlideInstance).reps|ajfRange); let idx = index; let lastSlide = last\"\n >\n <div class=\"ajf-form-page\">\n <mat-card>\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span class=\"ajf-form-header-number\"\n >{{ slideInstance.position|ajfIncrement:idx +\n (hasStartMessage | ajfBoolToInt) }} &rarr;</span\n >\n <span\n [innerHTML]=\"slideInstance.node.label | transloco\"\n ></span>\n </h2>\n <mat-icon\n class=\"ajf-warning\"\n *ngIf=\"!(slideInstance|ajfValidSlide:idx)\"\n >warning</mat-icon\n >\n <mat-icon\n class=\"ajf-success\"\n *ngIf=\"(slideInstance|ajfValidSlide:idx)\"\n >check</mat-icon\n >\n </div>\n </mat-card-header>\n <mat-card-content>\n <div\n *ngIf=\"lastSlide && !readonly\"\n class=\"ajf-group-actions\"\n >\n <button\n (click)=\"addGroup(slideInstance)\"\n [disabled]=\"!(slideInstance|ajfAsRepeatingSlideInstance).canAdd || ((slideInstance|ajfAsRepeatingSlideInstance).node?.disableRemoval && !slideInstance.valid)\"\n mat-mini-fab\n >\n <mat-icon>add</mat-icon>\n </button>\n <button\n (click)=\"removeGroup(slideInstance)\"\n [disabled]=\"!(slideInstance|ajfAsRepeatingSlideInstance).canRemove || (slideInstance|ajfAsRepeatingSlideInstance).node?.disableRemoval\"\n mat-mini-fab\n >\n <mat-icon>remove</mat-icon>\n </button>\n </div>\n <ng-template\n ngFor\n let-fieldInstance\n [ngForOf]=\"slideInstance.slideNodes[idx]\"\n [ngForTrackBy]=\"trackNodeById\"\n >\n <div\n [ngClass]=\"'ajf-' + (fieldInstance|ajfAsFieldInstance).node.size\"\n class=\"ajf-field-entry\"\n *ngIf=\"fieldInstance.visible\"\n >\n <i\n [class]=\"(fieldInstance|ajfAsFieldInstance).node.fieldType | ajfFieldIcon\"\n item-right\n ></i>\n <p>\n {{\n ((fieldInstance|ajfAsFieldInstance).node.description\n || '') | transloco }}\n </p>\n <label\n [attr.id]=\"fieldInstance.node.name\"\n [innerHTML]=\"fieldInstance.node.label | transloco\"\n ></label>\n <mat-icon\n class=\"ajf-tooltip-icon\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node?.hint as hint\"\n [matTooltip]=\"hint\"\n matTooltipPosition=\"right\"\n >\n {{(fieldInstance|ajfAsFieldInstance).node?.hintIcon\n || 'help'}}</mat-icon\n >\n <ajf-field\n [instance]=\"fieldInstance|ajfAsFieldInstance\"\n [readonly]=\"readonly || (!lastSlide && (slideInstance|ajfAsRepeatingSlideInstance).node?.disableRemoval)\"\n >\n </ajf-field>\n </div>\n </ng-template>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container\n *ngIf=\"curSlides && curSlides!.length > 0 && hasEndMessage\"\n >\n <ajf-page-slider-item>\n <div class=\"ajf-form-page\">\n <mat-card>\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span\n *ngIf=\"(slidesNum|async) as snum\"\n class=\"ajf-form-header-number\"\n >\n {{ snum! + (hasStartMessage | ajfBoolToInt ) + 1 }}\n &rarr;\n </span>\n <span class=\"ajf-title\">\n <ng-content\n select=\"[ajfFormEndMessageTitle]\"\n ></ng-content>\n </span>\n </h2>\n </div>\n </mat-card-header>\n <mat-card-content>\n <ng-content select=\"[ajfFormEndMessage]\"></ng-content>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n </ng-container>\n <div ajfPageSliderBar *ngIf=\"!hideBottomToolbar\">\n <div class=\"ajf-left-bar\">\n <div class=\"ajf-errors\" *ngIf=\"((errors | async) || 0) > 0\">\n <button mat-button (click)=\"goToPrevError()\" danger>\n <mat-icon>arrow_upward</mat-icon>\n </button>\n <button mat-button (click)=\"goToNextError()\" danger>\n <mat-icon>arrow_downward</mat-icon>\n </button>\n </div>\n <div class=\"ajf-info-box ajf-error\">\n <div class=\"ajf-title\">{{'Errors'|transloco}}</div>\n <div class=\"ajf-content\">\n {{ errors | async }} / {{ slidesNum|async }}\n </div>\n </div>\n </div>\n </div>\n </ajf-page-slider>\n </div>\n </div>\n </form>\n</ng-container>\n", styles: ["ajf-form{display:block}ajf-form .ajf-form-container{display:flex;flex-direction:column;position:absolute;top:0;right:0;bottom:0;left:0}ajf-form .ajf-form-container mat-toolbar.ajf-btn-strip{overflow:auto}ajf-form .ajf-form-container mat-toolbar.ajf-btn-strip button.ajf-topbar-button.mat-button{flex:1 1 auto}ajf-form .ajf-form-container mat-toolbar.ajf-btn-strip button.ajf-topbar-button.mat-button *{display:block;width:100%;overflow:hidden;text-overflow:ellipsis}ajf-form .ajf-form-container mat-toolbar.ajf-hidden{opacity:0}ajf-form .ajf-form-container .ajf-topbar-button{margin-right:10px}ajf-form .ajf-form-container>.ajf-slider-container{flex:1;position:relative}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider{height:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content{padding:16px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page{flex:1;max-height:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card{margin:1em 0 3em}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content{display:flex;flex-wrap:wrap;flex-direction:row;align-content:flex-start;position:relative}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content .ajf-group-actions{position:absolute;right:0;top:-30px;padding:15px;z-index:10}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry{flex:1 0 auto;padding-left:10px;padding-right:10px;width:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-icon{vertical-align:bottom;margin-left:5px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-normal{width:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-small{width:50%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-smaller{width:33%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-tiny{width:25%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-mini{width:20%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header{display:flex;align-items:center;width:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header>h2{flex:1}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header>h2>.ajf-form-header-number{margin-right:.5em}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header mat-icon.ajf-warning{color:#f53d3d}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header mat-icon.ajf-success{color:#32db64}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header h2>.ajf-title{display:inline-block;margin-right:40px;white-space:normal;vertical-align:top}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar{display:flex;align-items:flex-start;flex-direction:row;position:absolute;bottom:0}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-right-button{float:right}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-button-icon-only ion-icon{padding:0 .1em}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box{height:40px;padding:4px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box>div{height:16px;line-height:16px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box>div.ajf-content{font-weight:bold}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box.ajf-error{order:2;color:red}ajf-form .ajf-form-container .ajf-spacer{flex:1 0 auto}\n"], components: [{ type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4.AjfPageSlider, selector: "ajf-page-slider" }, { type: i5.AjfPageSliderItem, selector: "ajf-page-slider-item", outputs: ["scroll"] }, { type: i6.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i6.MatCardHeader, selector: "mat-card-header" }, { type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8.AjfFormField, selector: "ajf-field,ajf-form-field" }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i10.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i10.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "async": i9.AsyncPipe, "transloco": i12.TranslocoPipe, "ajfIsRepeatingSlideInstance": i1.AjfIsRepeatingSlideInstancePipe, "ajfBoolToInt": i1.AjfBoolToIntPipe, "ajfAsFieldInstance": i1.AjfAsFieldInstancePipe, "ajfFieldIcon": i1.AjfFieldIconPipe, "ajfRange": i1.AjfRangePipe, "ajfAsRepeatingSlideInstance": i1.AjfAsRepeatingSlideInstancePipe, "ajfIncrement": i1.AjfIncrementPipe, "ajfValidSlide": i1.AjfValidSlidePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ngImport: i0, type: AjfFormRenderer, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'ajf-form', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"formGroup|async as fg\">\n <form novalidate [formGroup]=\"fg!\">\n <div class=\"ajf-form-container\">\n <mat-toolbar *ngIf=\"!hideTopToolbar && topBar\" class=\"ajf-btn-strip\">\n <ng-template\n ngFor\n let-slideInstance\n [ngForOf]=\"slides|async\"\n [ngForTrackBy]=\"trackNodeById\"\n >\n <button\n mat-button\n class=\"ajf-topbar-button\"\n *ngIf=\"slideInstance.node != null && slideInstance.node.label != null && slideInstance.node.label.length > 0\"\n (click)=\"scrollToSlide(slideInstance)\"\n >\n {{slideInstance.node.label | transloco}}\n </button>\n </ng-template>\n </mat-toolbar>\n <mat-toolbar *ngIf=\"!hideTopToolbar\">\n {{ title }}\n <span class=\"ajf-spacer\"></span>\n <!-- this content projection allow to add buttons on toolbar -->\n <ng-content select=\"[ajfFormTopToolbarButtons]\"></ng-content>\n <!-- apply a default save button only when ajfFormSaveButton is empty -->\n <span *ngIf=\"!saveDisabled\" (click)=\"onSave($event)\">\n <span #saveButton\n ><ng-content select=\"[ajfFormSaveButton]\"></ng-content\n ></span>\n <button\n *ngIf=\"saveButton != null && saveButton.childNodes != null && saveButton.childNodes.length == 0\"\n mat-button\n default\n >\n {{'Save'|transloco}}\n </button>\n </span>\n </mat-toolbar>\n <div class=\"ajf-slider-container\">\n <ajf-page-slider\n (orientationChange)=\"orientationChangeHandler($event)\"\n [fixedOrientation]=\"fixedOrientation\"\n [hideNavigationButtons]=\"hideNavigationButtons\"\n [orientation]=\"orientation\"\n #formSlider\n >\n <ng-container *ngIf=\"(slides|async) as curSlides\">\n <ng-container *ngIf=\"curSlides!.length > 0 && hasStartMessage\">\n <ajf-page-slider-item>\n <div class=\"ajf-form-page\">\n <mat-card>\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span class=\"ajf-form-header-number\"> 1 &rarr; </span>\n <span class=\"ajf-title\">\n <ng-content\n select=\"[ajfFormStartMessageTitle]\"\n ></ng-content>\n </span>\n </h2>\n </div>\n </mat-card-header>\n <mat-card-content>\n <ng-content select=\"[ajfFormStartMessage]\"></ng-content>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n <ng-container\n *ngFor=\"let slideInstance of curSlides; trackBy:trackNodeById\"\n >\n <!-- non repeating slides -->\n <ng-container *ngIf=\"slideInstance.visible\">\n <ng-container\n *ngIf=\"!(slideInstance|ajfIsRepeatingSlideInstance)\"\n >\n <ajf-page-slider-item>\n <div class=\"ajf-form-page\">\n <mat-card>\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span class=\"ajf-form-header-number\"\n >{{ slideInstance.position + (hasStartMessage |\n ajfBoolToInt) }} &rarr;</span\n >\n <span\n [innerHTML]=\"slideInstance.node.label | transloco\"\n ></span>\n </h2>\n <mat-icon\n class=\"ajf-warning\"\n *ngIf=\"!slideInstance.valid\"\n >warning</mat-icon\n >\n <mat-icon\n class=\"ajf-success\"\n *ngIf=\"slideInstance.valid\"\n >check</mat-icon\n >\n </div>\n </mat-card-header>\n <mat-card-content>\n <ng-template\n ngFor\n let-fieldInstance\n [ngForOf]=\"slideInstance.flatNodes\"\n [ngForTrackBy]=\"trackNodeById\"\n >\n <div\n [ngClass]=\"'ajf-' + (fieldInstance|ajfAsFieldInstance).node.size\"\n class=\"ajf-field-entry\"\n *ngIf=\"fieldInstance.visible\"\n >\n <i\n [class]=\"(fieldInstance|ajfAsFieldInstance).node.fieldType | ajfFieldIcon\"\n item-right\n ></i>\n <p>\n {{\n ((fieldInstance|ajfAsFieldInstance).node.description\n || '') | transloco }}\n </p>\n <label\n [attr.id]=\"fieldInstance.node.name\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node.fieldType !== 7\"\n [innerHTML]=\"fieldInstance.node.label | transloco\"\n ></label>\n <mat-icon\n class=\"ajf-tooltip-icon\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node?.hint as hint\"\n [matTooltip]=\"hint\"\n matTooltipPosition=\"right\"\n >\n {{(fieldInstance|ajfAsFieldInstance).node?.hintIcon\n || 'help'}}</mat-icon\n >\n <ajf-field\n [instance]=\"fieldInstance|ajfAsFieldInstance\"\n [readonly]=\"readonly || !slideInstance.editable\"\n >\n </ajf-field>\n </div>\n </ng-template>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n <!-- repeating slides -->\n <ng-container\n *ngIf=\"(slideInstance|ajfIsRepeatingSlideInstance)\"\n >\n <ajf-page-slider-item\n *ngFor=\"let curRep of ((slideInstance|ajfAsRepeatingSlideInstance).reps|ajfRange); let idx = index; let lastSlide = last\"\n >\n <div class=\"ajf-form-page\">\n <mat-card>\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span class=\"ajf-form-header-number\"\n >{{ slideInstance.position|ajfIncrement:idx +\n (hasStartMessage | ajfBoolToInt) }} &rarr;</span\n >\n <span\n [innerHTML]=\"slideInstance.node.label | transloco\"\n ></span>\n </h2>\n <mat-icon\n class=\"ajf-warning\"\n *ngIf=\"!(slideInstance|ajfValidSlide:idx)\"\n >warning</mat-icon\n >\n <mat-icon\n class=\"ajf-success\"\n *ngIf=\"(slideInstance|ajfValidSlide:idx)\"\n >check</mat-icon\n >\n </div>\n </mat-card-header>\n <mat-card-content>\n <div\n *ngIf=\"lastSlide && !readonly\"\n class=\"ajf-group-actions\"\n >\n <button\n (click)=\"addGroup(slideInstance)\"\n [disabled]=\"!(slideInstance|ajfAsRepeatingSlideInstance).canAdd || ((slideInstance|ajfAsRepeatingSlideInstance).node?.disableRemoval && !slideInstance.valid)\"\n mat-mini-fab\n >\n <mat-icon>add</mat-icon>\n </button>\n <button\n (click)=\"removeGroup(slideInstance)\"\n [disabled]=\"!(slideInstance|ajfAsRepeatingSlideInstance).canRemove || (slideInstance|ajfAsRepeatingSlideInstance).node?.disableRemoval\"\n mat-mini-fab\n >\n <mat-icon>remove</mat-icon>\n </button>\n </div>\n <ng-template\n ngFor\n let-fieldInstance\n [ngForOf]=\"slideInstance.slideNodes[idx]\"\n [ngForTrackBy]=\"trackNodeById\"\n >\n <div\n [ngClass]=\"'ajf-' + (fieldInstance|ajfAsFieldInstance).node.size\"\n class=\"ajf-field-entry\"\n *ngIf=\"fieldInstance.visible\"\n >\n <i\n [class]=\"(fieldInstance|ajfAsFieldInstance).node.fieldType | ajfFieldIcon\"\n item-right\n ></i>\n <p>\n {{\n ((fieldInstance|ajfAsFieldInstance).node.description\n || '') | transloco }}\n </p>\n <label\n [attr.id]=\"fieldInstance.node.name\"\n [innerHTML]=\"fieldInstance.node.label | transloco\"\n ></label>\n <mat-icon\n class=\"ajf-tooltip-icon\"\n *ngIf=\"(fieldInstance|ajfAsFieldInstance).node?.hint as hint\"\n [matTooltip]=\"hint\"\n matTooltipPosition=\"right\"\n >\n {{(fieldInstance|ajfAsFieldInstance).node?.hintIcon\n || 'help'}}</mat-icon\n >\n <ajf-field\n [instance]=\"fieldInstance|ajfAsFieldInstance\"\n [readonly]=\"readonly || (!lastSlide && (slideInstance|ajfAsRepeatingSlideInstance).node?.disableRemoval)\"\n >\n </ajf-field>\n </div>\n </ng-template>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container\n *ngIf=\"curSlides && curSlides!.length > 0 && hasEndMessage\"\n >\n <ajf-page-slider-item>\n <div class=\"ajf-form-page\">\n <mat-card>\n <mat-card-header>\n <div class=\"ajf-page-slider-item-header\">\n <h2>\n <span\n *ngIf=\"(slidesNum|async) as snum\"\n class=\"ajf-form-header-number\"\n >\n {{ snum! + (hasStartMessage | ajfBoolToInt ) + 1 }}\n &rarr;\n </span>\n <span class=\"ajf-title\">\n <ng-content\n select=\"[ajfFormEndMessageTitle]\"\n ></ng-content>\n </span>\n </h2>\n </div>\n </mat-card-header>\n <mat-card-content>\n <ng-content select=\"[ajfFormEndMessage]\"></ng-content>\n </mat-card-content>\n </mat-card>\n </div>\n </ajf-page-slider-item>\n </ng-container>\n </ng-container>\n <div ajfPageSliderBar *ngIf=\"!hideBottomToolbar\">\n <div class=\"ajf-left-bar\">\n <div class=\"ajf-errors\" *ngIf=\"((errors | async) || 0) > 0\">\n <button mat-button (click)=\"goToPrevError()\" danger>\n <mat-icon>arrow_upward</mat-icon>\n </button>\n <button mat-button (click)=\"goToNextError()\" danger>\n <mat-icon>arrow_downward</mat-icon>\n </button>\n </div>\n <div class=\"ajf-info-box ajf-error\">\n <div class=\"ajf-title\">{{'Errors'|transloco}}</div>\n <div class=\"ajf-content\">\n {{ errors | async }} / {{ slidesNum|async }}\n </div>\n </div>\n </div>\n </div>\n </ajf-page-slider>\n </div>\n </div>\n </form>\n</ng-container>\n", styles: ["ajf-form{display:block}ajf-form .ajf-form-container{display:flex;flex-direction:column;position:absolute;top:0;right:0;bottom:0;left:0}ajf-form .ajf-form-container mat-toolbar.ajf-btn-strip{overflow:auto}ajf-form .ajf-form-container mat-toolbar.ajf-btn-strip button.ajf-topbar-button.mat-button{flex:1 1 auto}ajf-form .ajf-form-container mat-toolbar.ajf-btn-strip button.ajf-topbar-button.mat-button *{display:block;width:100%;overflow:hidden;text-overflow:ellipsis}ajf-form .ajf-form-container mat-toolbar.ajf-hidden{opacity:0}ajf-form .ajf-form-container .ajf-topbar-button{margin-right:10px}ajf-form .ajf-form-container>.ajf-slider-container{flex:1;position:relative}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider{height:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content{padding:16px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page{flex:1;max-height:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card{margin:1em 0 3em}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content{display:flex;flex-wrap:wrap;flex-direction:row;align-content:flex-start;position:relative}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content .ajf-group-actions{position:absolute;right:0;top:-30px;padding:15px;z-index:10}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry{flex:1 0 auto;padding-left:10px;padding-right:10px;width:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry .mat-icon{vertical-align:bottom;margin-left:5px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-normal{width:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-small{width:50%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-smaller{width:33%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-tiny{width:25%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider ajf-page-slider-item .ajf-page-slider-item-content .ajf-form-page>mat-card>mat-card-content>.ajf-field-entry.ajf-mini{width:20%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header{display:flex;align-items:center;width:100%}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header>h2{flex:1}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header>h2>.ajf-form-header-number{margin-right:.5em}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header mat-icon.ajf-warning{color:#f53d3d}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header mat-icon.ajf-success{color:#32db64}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider .ajf-page-slider-item-header h2>.ajf-title{display:inline-block;margin-right:40px;white-space:normal;vertical-align:top}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar{display:flex;align-items:flex-start;flex-direction:row;position:absolute;bottom:0}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-right-button{float:right}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-button-icon-only ion-icon{padding:0 .1em}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box{height:40px;padding:4px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box>div{height:16px;line-height:16px}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box>div.ajf-content{font-weight:bold}ajf-form .ajf-form-container>.ajf-slider-container>ajf-page-slider [ajfPageSliderBar] .ajf-left-bar .ajf-info-box.ajf-error{order:2;color:red}ajf-form .ajf-form-container .ajf-spacer{flex:1 0 auto}\n"] }]
48
+ }], ctorParameters: function () { return [{ type: i1.AjfFormRendererService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { topBar: [{
49
+ type: Input
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9mb3Jtcy9mb3JtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL2Zvcm1zL2Zvcm0uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUMsZUFBZSxJQUFJLG1CQUFtQixFQUFFLHNCQUFzQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFL0YsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBU3ZCLE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQUd0RCxZQUFZLGVBQXVDLEVBQUUsaUJBQW9DO1FBQ3ZGLEtBQUssQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUhuQyxXQUFNLEdBQVksS0FBSyxDQUFDO0lBSWpDLENBQUM7O2lIQUxVLGVBQWU7cUdBQWYsZUFBZSxxR0N2QzVCLDgwY0FrVEE7Z0dEM1FhLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsVUFBVSxpQkFHTCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzZJQUd0QyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgKEMpIEdudWNvb3Agc29jLiBjb29wLlxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpLlxuICpcbiAqIEFkdmFuY2VkIEpTT04gZm9ybXMgKGFqZikgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yXG4gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLFxuICogb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBBZHZhbmNlZCBKU09OIGZvcm1zIChhamYpIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBBZmZlcm9cbiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggQWR2YW5jZWQgSlNPTiBmb3JtcyAoYWpmKS5cbiAqIElmIG5vdCwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8uXG4gKlxuICovXG5cbmltcG9ydCB7QWpmRm9ybVJlbmRlcmVyIGFzIEFqZkNvcmVGb3JtUmVuZGVyZXIsIEFqZkZvcm1SZW5kZXJlclNlcnZpY2V9IGZyb20gJ0BhamYvY29yZS9mb3Jtcyc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhamYtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnZm9ybS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2Zvcm0uY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBamZGb3JtUmVuZGVyZXIgZXh0ZW5kcyBBamZDb3JlRm9ybVJlbmRlcmVyIHtcbiAgQElucHV0KCkgdG9wQmFyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocmVuZGVyZXJTZXJ2aWNlOiBBamZGb3JtUmVuZGVyZXJTZXJ2aWNlLCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihyZW5kZXJlclNlcnZpY2UsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgfVxuXG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9maXhlZE9yaWVudGF0aW9uOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9oYXNFbmRNZXNzYWdlOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9oYXNTdGFydE1lc3NhZ2U6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2hpZGVCb3R0b21Ub29sYmFyOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9oaWRlTmF2aWdhdGlvbkJ1dHRvbnM6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2hpZGVUb3BUb29sYmFyOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9yZWFkb25seTogQm9vbGVhbklucHV0O1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2F2ZURpc2FibGVkOiBCb29sZWFuSW5wdXQ7XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybUdyb3VwfGFzeW5jIGFzIGZnXCI+XG4gIDxmb3JtIG5vdmFsaWRhdGUgW2Zvcm1Hcm91cF09XCJmZyFcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWpmLWZvcm0tY29udGFpbmVyXCI+XG4gICAgICA8bWF0LXRvb2xiYXIgKm5nSWY9XCIhaGlkZVRvcFRvb2xiYXIgJiYgdG9wQmFyXCIgY2xhc3M9XCJhamYtYnRuLXN0cmlwXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgIG5nRm9yXG4gICAgICAgICAgbGV0LXNsaWRlSW5zdGFuY2VcbiAgICAgICAgICBbbmdGb3JPZl09XCJzbGlkZXN8YXN5bmNcIlxuICAgICAgICAgIFtuZ0ZvclRyYWNrQnldPVwidHJhY2tOb2RlQnlJZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImFqZi10b3BiYXItYnV0dG9uXCJcbiAgICAgICAgICAgICpuZ0lmPVwic2xpZGVJbnN0YW5jZS5ub2RlICE9IG51bGwgJiYgc2xpZGVJbnN0YW5jZS5ub2RlLmxhYmVsICE9IG51bGwgJiYgc2xpZGVJbnN0YW5jZS5ub2RlLmxhYmVsLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNjcm9sbFRvU2xpZGUoc2xpZGVJbnN0YW5jZSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7c2xpZGVJbnN0YW5jZS5ub2RlLmxhYmVsIHwgdHJhbnNsb2NvfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgICA8bWF0LXRvb2xiYXIgKm5nSWY9XCIhaGlkZVRvcFRvb2xiYXJcIj5cbiAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhamYtc3BhY2VyXCI+PC9zcGFuPlxuICAgICAgICA8IS0tIHRoaXMgY29udGVudCBwcm9qZWN0aW9uIGFsbG93IHRvIGFkZCBidXR0b25zIG9uIHRvb2xiYXIgLS0+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthamZGb3JtVG9wVG9vbGJhckJ1dHRvbnNdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8IS0tIGFwcGx5IGEgZGVmYXVsdCBzYXZlIGJ1dHRvbiBvbmx5IHdoZW4gYWpmRm9ybVNhdmVCdXR0b24gaXMgZW1wdHkgLS0+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIXNhdmVEaXNhYmxlZFwiIChjbGljayk9XCJvblNhdmUoJGV2ZW50KVwiPlxuICAgICAgICAgIDxzcGFuICNzYXZlQnV0dG9uXG4gICAgICAgICAgICA+PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FqZkZvcm1TYXZlQnV0dG9uXVwiPjwvbmctY29udGVudFxuICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJzYXZlQnV0dG9uICE9IG51bGwgICYmIHNhdmVCdXR0b24uY2hpbGROb2RlcyAhPSBudWxsICYmIHNhdmVCdXR0b24uY2hpbGROb2Rlcy5sZW5ndGggPT0gMFwiXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3snU2F2ZSd8dHJhbnNsb2NvfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9tYXQtdG9vbGJhcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhamYtc2xpZGVyLWNvbnRhaW5lclwiPlxuICAgICAgICA8YWpmLXBhZ2Utc2xpZGVyXG4gICAgICAgICAgKG9yaWVudGF0aW9uQ2hhbmdlKT1cIm9yaWVudGF0aW9uQ2hhbmdlSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgICBbZml4ZWRPcmllbnRhdGlvbl09XCJmaXhlZE9yaWVudGF0aW9uXCJcbiAgICAgICAgICBbaGlkZU5hdmlnYXRpb25CdXR0b25zXT1cImhpZGVOYXZpZ2F0aW9uQnV0dG9uc1wiXG4gICAgICAgICAgW29yaWVudGF0aW9uXT1cIm9yaWVudGF0aW9uXCJcbiAgICAgICAgICAjZm9ybVNsaWRlclxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihzbGlkZXN8YXN5bmMpIGFzIGN1clNsaWRlc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1clNsaWRlcyEubGVuZ3RoID4gMCAmJiBoYXNTdGFydE1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgPGFqZi1wYWdlLXNsaWRlci1pdGVtPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhamYtZm9ybS1wYWdlXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFqZi1wYWdlLXNsaWRlci1pdGVtLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGgyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFqZi1mb3JtLWhlYWRlci1udW1iZXJcIj4gMSAmcmFycjsgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFqZi10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q9XCJbYWpmRm9ybVN0YXJ0TWVzc2FnZVRpdGxlXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthamZGb3JtU3RhcnRNZXNzYWdlXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9hamYtcGFnZS1zbGlkZXItaXRlbT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2xpZGVJbnN0YW5jZSBvZiBjdXJTbGlkZXM7IHRyYWNrQnk6dHJhY2tOb2RlQnlJZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwhLS0gbm9uIHJlcGVhdGluZyBzbGlkZXMgLS0+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzbGlkZUluc3RhbmNlLnZpc2libGVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIiEoc2xpZGVJbnN0YW5jZXxhamZJc1JlcGVhdGluZ1NsaWRlSW5zdGFuY2UpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8YWpmLXBhZ2Utc2xpZGVyLWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhamYtZm9ybS1wYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFqZi1wYWdlLXNsaWRlci1pdGVtLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWpmLWZvcm0taGVhZGVyLW51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBzbGlkZUluc3RhbmNlLnBvc2l0aW9uICsgKGhhc1N0YXJ0TWVzc2FnZSB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFqZkJvb2xUb0ludCkgfX0gJnJhcnI7PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInNsaWRlSW5zdGFuY2Uubm9kZS5sYWJlbCB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFqZi13YXJuaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIXNsaWRlSW5zdGFuY2UudmFsaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPndhcm5pbmc8L21hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhamYtc3VjY2Vzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNsaWRlSW5zdGFuY2UudmFsaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPmNoZWNrPC9tYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZ0ZvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldC1maWVsZEluc3RhbmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nRm9yT2ZdPVwic2xpZGVJbnN0YW5jZS5mbGF0Tm9kZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0ZvclRyYWNrQnldPVwidHJhY2tOb2RlQnlJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCInYWpmLScgKyAoZmllbGRJbnN0YW5jZXxhamZBc0ZpZWxkSW5zdGFuY2UpLm5vZGUuc2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFqZi1maWVsZC1lbnRyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZpZWxkSW5zdGFuY2UudmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIihmaWVsZEluc3RhbmNlfGFqZkFzRmllbGRJbnN0YW5jZSkubm9kZS5maWVsZFR5cGUgfCBhamZGaWVsZEljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLXJpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoZmllbGRJbnN0YW5jZXxhamZBc0ZpZWxkSW5zdGFuY2UpLm5vZGUuZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgJycpIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiZmllbGRJbnN0YW5jZS5ub2RlLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIihmaWVsZEluc3RhbmNlfGFqZkFzRmllbGRJbnN0YW5jZSkubm9kZS5maWVsZFR5cGUgIT09IDdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImZpZWxkSW5zdGFuY2Uubm9kZS5sYWJlbCB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFqZi10b29sdGlwLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIihmaWVsZEluc3RhbmNlfGFqZkFzRmllbGRJbnN0YW5jZSkubm9kZT8uaGludCBhcyBoaW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiaGludFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGRJbnN0YW5jZXxhamZBc0ZpZWxkSW5zdGFuY2UpLm5vZGU/LmhpbnRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICdoZWxwJ319PC9tYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFqZi1maWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5zdGFuY2VdPVwiZmllbGRJbnN0YW5jZXxhamZBc0ZpZWxkSW5zdGFuY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkgfHwgIXNsaWRlSW5zdGFuY2UuZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hamYtZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2FqZi1wYWdlLXNsaWRlci1pdGVtPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwhLS0gcmVwZWF0aW5nIHNsaWRlcyAtLT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIihzbGlkZUluc3RhbmNlfGFqZklzUmVwZWF0aW5nU2xpZGVJbnN0YW5jZSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxhamYtcGFnZS1zbGlkZXItaXRlbVxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY3VyUmVwIG9mICgoc2xpZGVJbnN0YW5jZXxhamZBc1JlcGVhdGluZ1NsaWRlSW5zdGFuY2UpLnJlcHN8YWpmUmFuZ2UpOyBsZXQgaWR4ID0gaW5kZXg7IGxldCBsYXN0U2xpZGUgPSBsYXN0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFqZi1mb3JtLXBhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWpmLXBhZ2Utc2xpZGVyLWl0ZW0taGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhamYtZm9ybS1oZWFkZXItbnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IHNsaWRlSW5zdGFuY2UucG9zaXRpb258YWpmSW5jcmVtZW50OmlkeCArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChoYXNTdGFydE1lc3NhZ2UgfCBhamZCb29sVG9JbnQpIH19ICZyYXJyOzwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJzbGlkZUluc3RhbmNlLm5vZGUubGFiZWwgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhamYtd2FybmluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiEoc2xpZGVJbnN0YW5jZXxhamZWYWxpZFNsaWRlOmlkeClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPndhcm5pbmc8L21hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhamYtc3VjY2Vzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIihzbGlkZUluc3RhbmNlfGFqZlZhbGlkU2xpZGU6aWR4KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Y2hlY2s8L21hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImxhc3RTbGlkZSAmJiAhcmVhZG9ubHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWpmLWdyb3VwLWFjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZEdyb3VwKHNsaWRlSW5zdGFuY2UpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhKHNsaWRlSW5zdGFuY2V8YWpmQXNSZXBlYXRpbmdTbGlkZUluc3RhbmNlKS5jYW5BZGQgfHwgKChzbGlkZUluc3RhbmNlfGFqZkFzUmVwZWF0aW5nU2xpZGVJbnN0YW5jZSkubm9kZT8uZGlzYWJsZVJlbW92YWwgJiYgIXNsaWRlSW5zdGFuY2UudmFsaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1taW5pLWZhYlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVHcm91cChzbGlkZUluc3RhbmNlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIShzbGlkZUluc3RhbmNlfGFqZkFzUmVwZWF0aW5nU2xpZGVJbnN0YW5jZSkuY2FuUmVtb3ZlIHx8IChzbGlkZUluc3RhbmNlfGFqZkFzUmVwZWF0aW5nU2xpZGVJbnN0YW5jZSkubm9kZT8uZGlzYWJsZVJlbW92YWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LW1pbmktZmFiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnJlbW92ZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZ0ZvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldC1maWVsZEluc3RhbmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nRm9yT2ZdPVwic2xpZGVJbnN0YW5jZS5zbGlkZU5vZGVzW2lkeF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0ZvclRyYWNrQnldPVwidHJhY2tOb2RlQnlJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCInYWpmLScgKyAoZmllbGRJbnN0YW5jZXxhamZBc0ZpZWxkSW5zdGFuY2UpLm5vZGUuc2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFqZi1maWVsZC1lbnRyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZpZWxkSW5zdGFuY2UudmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIihmaWVsZEluc3RhbmNlfGFqZkFzRmllbGRJbnN0YW5jZSkubm9kZS5maWVsZFR5cGUgfCBhamZGaWVsZEljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLXJpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoZmllbGRJbnN0YW5jZXxhamZBc0ZpZWxkSW5zdGFuY2UpLm5vZGUuZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgJycpIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiZmllbGRJbnN0YW5jZS5ub2RlLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImZpZWxkSW5zdGFuY2Uubm9kZS5sYWJlbCB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFqZi10b29sdGlwLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIihmaWVsZEluc3RhbmNlfGFqZkFzRmllbGRJbnN0YW5jZSkubm9kZT8uaGludCBhcyBoaW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiaGludFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGRJbnN0YW5jZXxhamZBc0ZpZWxkSW5zdGFuY2UpLm5vZGU/LmhpbnRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICdoZWxwJ319PC9tYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFqZi1maWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5zdGFuY2VdPVwiZmllbGRJbnN0YW5jZXxhamZBc0ZpZWxkSW5zdGFuY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkgfHwgKCFsYXN0U2xpZGUgJiYgKHNsaWRlSW5zdGFuY2V8YWpmQXNSZXBlYXRpbmdTbGlkZUluc3RhbmNlKS5ub2RlPy5kaXNhYmxlUmVtb3ZhbClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hamYtZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2FqZi1wYWdlLXNsaWRlci1pdGVtPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdJZj1cImN1clNsaWRlcyAmJiBjdXJTbGlkZXMhLmxlbmd0aCA+IDAgJiYgaGFzRW5kTWVzc2FnZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxhamYtcGFnZS1zbGlkZXItaXRlbT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWpmLWZvcm0tcGFnZVwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhamYtcGFnZS1zbGlkZXItaXRlbS1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIihzbGlkZXNOdW18YXN5bmMpIGFzIHNudW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWpmLWZvcm0taGVhZGVyLW51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzbnVtISArIChoYXNTdGFydE1lc3NhZ2UgfCBhamZCb29sVG9JbnQgKSArIDEgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmFycjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFqZi10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q9XCJbYWpmRm9ybUVuZE1lc3NhZ2VUaXRsZV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYWpmRm9ybUVuZE1lc3NhZ2VdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICA8L21hdC1jYXJkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2FqZi1wYWdlLXNsaWRlci1pdGVtPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPGRpdiBhamZQYWdlU2xpZGVyQmFyICpuZ0lmPVwiIWhpZGVCb3R0b21Ub29sYmFyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWpmLWxlZnQtYmFyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhamYtZXJyb3JzXCIgKm5nSWY9XCIoKGVycm9ycyB8IGFzeW5jKSB8fCAwKSA+IDBcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cImdvVG9QcmV2RXJyb3IoKVwiIGRhbmdlcj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5hcnJvd191cHdhcmQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiZ29Ub05leHRFcnJvcigpXCIgZGFuZ2VyPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X2Rvd253YXJkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhamYtaW5mby1ib3ggYWpmLWVycm9yXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFqZi10aXRsZVwiPnt7J0Vycm9ycyd8dHJhbnNsb2NvfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWpmLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGVycm9ycyB8IGFzeW5jIH19IC8ge3sgc2xpZGVzTnVtfGFzeW5jIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYWpmLXBhZ2Utc2xpZGVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvbmctY29udGFpbmVyPlxuIl19