@ajf/material 13.0.0 → 13.1.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 (338) hide show
  1. package/README.md +2 -5
  2. package/ajf-material.d.ts +5 -0
  3. package/barcode/ajf-material-barcode.d.ts +5 -0
  4. package/barcode/barcode-module.d.ts +0 -0
  5. package/barcode/barcode.d.ts +0 -0
  6. package/barcode/package.json +8 -7
  7. package/barcode/{public-api.d.ts → public_api.d.ts} +0 -0
  8. package/calendar/ajf-material-calendar.d.ts +5 -0
  9. package/calendar/calendar-module.d.ts +0 -0
  10. package/calendar/calendar.d.ts +1 -1
  11. package/calendar/package.json +8 -7
  12. package/calendar/{public-api.d.ts → public_api.d.ts} +0 -0
  13. package/checkbox-group/ajf-material-checkbox-group.d.ts +5 -0
  14. package/checkbox-group/checkbox-group-item.d.ts +0 -0
  15. package/checkbox-group/checkbox-group-module.d.ts +0 -0
  16. package/checkbox-group/package.json +8 -7
  17. package/checkbox-group/{public-api.d.ts → public_api.d.ts} +0 -0
  18. package/esm2020/ajf-material.mjs +5 -0
  19. package/esm2020/barcode/ajf-material-barcode.mjs +5 -0
  20. package/esm2020/barcode/barcode-module.mjs +5 -5
  21. package/esm2020/barcode/barcode.mjs +6 -6
  22. package/esm2020/barcode/public_api.mjs +24 -0
  23. package/esm2020/calendar/ajf-material-calendar.mjs +5 -0
  24. package/esm2020/calendar/calendar-module.mjs +5 -5
  25. package/esm2020/calendar/calendar.mjs +7 -7
  26. package/esm2020/{page-slider/public-api.mjs → calendar/public_api.mjs} +3 -3
  27. package/esm2020/checkbox-group/ajf-material-checkbox-group.mjs +5 -0
  28. package/esm2020/checkbox-group/checkbox-group-item.mjs +6 -6
  29. package/esm2020/checkbox-group/checkbox-group-module.mjs +5 -5
  30. package/esm2020/{time/index.mjs → checkbox-group/public_api.mjs} +3 -2
  31. package/esm2020/form-builder/ajf-material-form-builder.mjs +5 -0
  32. package/esm2020/form-builder/branch-line.mjs +6 -5
  33. package/esm2020/form-builder/choices-origin-data-source.mjs +1 -1
  34. package/esm2020/form-builder/choices-origin-editor-dialog.mjs +5 -6
  35. package/esm2020/form-builder/choices-origin-editor.mjs +19 -8
  36. package/esm2020/form-builder/condition-editor-dialog.mjs +5 -6
  37. package/esm2020/form-builder/condition-editor.mjs +10 -6
  38. package/esm2020/form-builder/form-builder-module.mjs +5 -5
  39. package/esm2020/form-builder/form-builder-service.mjs +12 -5
  40. package/esm2020/form-builder/form-builder-utils.mjs +1 -1
  41. package/esm2020/form-builder/form-builder.mjs +12 -7
  42. package/esm2020/form-builder/node-entry.mjs +9 -7
  43. package/esm2020/form-builder/node-properties.mjs +16 -10
  44. package/esm2020/form-builder/node-type-entry.mjs +5 -5
  45. package/esm2020/form-builder/operations.mjs +1 -1
  46. package/esm2020/{monaco-editor/public-api.mjs → form-builder/public_api.mjs} +5 -3
  47. package/esm2020/form-builder/string-identifier-dialog.mjs +6 -7
  48. package/esm2020/form-builder/validation-condition-editor-dialog.mjs +6 -6
  49. package/esm2020/form-builder/warning-condition-editor-dialog.mjs +6 -6
  50. package/esm2020/forms/ajf-material-forms.mjs +5 -0
  51. package/esm2020/forms/barcode-field.mjs +7 -8
  52. package/esm2020/forms/boolean-field.mjs +7 -8
  53. package/esm2020/forms/date-field.mjs +7 -8
  54. package/esm2020/forms/date-input-field.mjs +10 -8
  55. package/esm2020/forms/empty-field.mjs +11 -11
  56. package/esm2020/forms/field-service.mjs +4 -4
  57. package/esm2020/forms/field-warning-dialog.mjs +7 -4
  58. package/esm2020/forms/field.mjs +6 -7
  59. package/esm2020/forms/form.mjs +18 -17
  60. package/esm2020/forms/forms-module.mjs +9 -5
  61. package/esm2020/forms/input-field.mjs +7 -8
  62. package/esm2020/forms/multiple-choice-field.mjs +7 -8
  63. package/esm2020/{barcode/public-api.mjs → forms/public_api.mjs} +16 -3
  64. package/esm2020/forms/range-field.mjs +7 -8
  65. package/esm2020/forms/single-choice-field.mjs +7 -8
  66. package/esm2020/forms/table-field.mjs +7 -8
  67. package/esm2020/forms/text-field.mjs +7 -8
  68. package/esm2020/forms/time-field.mjs +7 -8
  69. package/esm2020/forms/video-url-field.mjs +6 -9
  70. package/esm2020/forms/warning-alert-service.mjs +4 -5
  71. package/esm2020/image/ajf-material-image.mjs +5 -0
  72. package/esm2020/image/image-module.mjs +5 -5
  73. package/esm2020/image/image.mjs +5 -6
  74. package/esm2020/{calendar/public-api.mjs → image/public_api.mjs} +3 -3
  75. package/esm2020/monaco-editor/ajf-material-monaco-editor.mjs +5 -0
  76. package/esm2020/monaco-editor/auto-complete-item-model.mjs +7 -2
  77. package/esm2020/monaco-editor/autocomplete-singleton-model.mjs +1 -1
  78. package/esm2020/monaco-editor/editor-language-model.mjs +1 -1
  79. package/esm2020/monaco-editor/editor-options-model.mjs +11 -1
  80. package/esm2020/monaco-editor/editor-scrollbar-options.mjs +1 -1
  81. package/esm2020/monaco-editor/editor-theme.mjs +1 -1
  82. package/esm2020/monaco-editor/monaco-editor-module.mjs +5 -5
  83. package/esm2020/monaco-editor/monaco-editor.mjs +7 -7
  84. package/esm2020/{reports/layout-widget.mjs → monaco-editor/public_api.mjs} +3 -1
  85. package/esm2020/node-icon/ajf-material-node-icon.mjs +5 -0
  86. package/esm2020/node-icon/node-icon-module.mjs +5 -5
  87. package/esm2020/node-icon/node-icon.mjs +5 -5
  88. package/esm2020/{form-builder/public-api.mjs → node-icon/public_api.mjs} +3 -5
  89. package/esm2020/page-slider/ajf-material-page-slider.mjs +5 -0
  90. package/esm2020/page-slider/page-slider-module.mjs +5 -5
  91. package/esm2020/page-slider/page-slider.mjs +6 -7
  92. package/esm2020/page-slider/public_api.mjs +24 -0
  93. package/esm2020/{form-builder/index.mjs → public-api.mjs} +3 -2
  94. package/esm2020/reports/ajf-material-reports.mjs +5 -0
  95. package/esm2020/reports/chart-widget.mjs +7 -6
  96. package/esm2020/reports/filter-widget.mjs +20 -53
  97. package/esm2020/reports/formula-widget.mjs +7 -6
  98. package/esm2020/reports/image-container-widget.mjs +6 -6
  99. package/esm2020/reports/image-widget.mjs +7 -6
  100. package/esm2020/reports/map-widget.mjs +7 -6
  101. package/esm2020/reports/page-break-widget.mjs +6 -6
  102. package/esm2020/reports/public_api.mjs +34 -0
  103. package/esm2020/reports/report.mjs +6 -6
  104. package/esm2020/reports/reports-module.mjs +5 -5
  105. package/esm2020/reports/table-widget.mjs +7 -6
  106. package/esm2020/reports/text-widget.mjs +8 -7
  107. package/esm2020/reports/widget.mjs +17 -18
  108. package/esm2020/time/ajf-material-time.mjs +5 -0
  109. package/esm2020/{image/public-api.mjs → time/public_api.mjs} +3 -3
  110. package/esm2020/time/time-module.mjs +5 -5
  111. package/esm2020/time/time.mjs +4 -4
  112. package/fesm2015/{barcode.mjs → ajf-material-barcode.mjs} +9 -31
  113. package/fesm2015/ajf-material-barcode.mjs.map +1 -0
  114. package/fesm2015/ajf-material-calendar.mjs +116 -0
  115. package/fesm2015/ajf-material-calendar.mjs.map +1 -0
  116. package/fesm2015/{checkbox-group.mjs → ajf-material-checkbox-group.mjs} +9 -31
  117. package/fesm2015/ajf-material-checkbox-group.mjs.map +1 -0
  118. package/fesm2015/{form-builder.mjs → ajf-material-form-builder.mjs} +101 -77
  119. package/fesm2015/ajf-material-form-builder.mjs.map +1 -0
  120. package/fesm2015/ajf-material-forms.mjs +1000 -0
  121. package/fesm2015/ajf-material-forms.mjs.map +1 -0
  122. package/{fesm2020/image.mjs → fesm2015/ajf-material-image.mjs} +8 -30
  123. package/fesm2015/ajf-material-image.mjs.map +1 -0
  124. package/fesm2015/{monaco-editor.mjs → ajf-material-monaco-editor.mjs} +26 -31
  125. package/fesm2015/ajf-material-monaco-editor.mjs.map +1 -0
  126. package/{fesm2020/node-icon.mjs → fesm2015/ajf-material-node-icon.mjs} +9 -31
  127. package/fesm2015/ajf-material-node-icon.mjs.map +1 -0
  128. package/fesm2015/{page-slider.mjs → ajf-material-page-slider.mjs} +9 -31
  129. package/fesm2015/ajf-material-page-slider.mjs.map +1 -0
  130. package/{fesm2020/reports.mjs → fesm2015/ajf-material-reports.mjs} +81 -134
  131. package/fesm2015/ajf-material-reports.mjs.map +1 -0
  132. package/fesm2015/{time.mjs → ajf-material-time.mjs} +8 -30
  133. package/fesm2015/ajf-material-time.mjs.map +1 -0
  134. package/{calendar/index.d.ts → fesm2015/ajf-material.mjs} +7 -1
  135. package/fesm2015/ajf-material.mjs.map +1 -0
  136. package/fesm2020/{barcode.mjs → ajf-material-barcode.mjs} +9 -31
  137. package/fesm2020/ajf-material-barcode.mjs.map +1 -0
  138. package/fesm2020/ajf-material-calendar.mjs +116 -0
  139. package/fesm2020/ajf-material-calendar.mjs.map +1 -0
  140. package/fesm2020/{checkbox-group.mjs → ajf-material-checkbox-group.mjs} +9 -31
  141. package/fesm2020/ajf-material-checkbox-group.mjs.map +1 -0
  142. package/fesm2020/{form-builder.mjs → ajf-material-form-builder.mjs} +101 -77
  143. package/fesm2020/ajf-material-form-builder.mjs.map +1 -0
  144. package/fesm2020/ajf-material-forms.mjs +974 -0
  145. package/fesm2020/ajf-material-forms.mjs.map +1 -0
  146. package/{fesm2015/image.mjs → fesm2020/ajf-material-image.mjs} +8 -30
  147. package/fesm2020/ajf-material-image.mjs.map +1 -0
  148. package/fesm2020/{monaco-editor.mjs → ajf-material-monaco-editor.mjs} +26 -61
  149. package/fesm2020/ajf-material-monaco-editor.mjs.map +1 -0
  150. package/{fesm2015/node-icon.mjs → fesm2020/ajf-material-node-icon.mjs} +9 -31
  151. package/fesm2020/ajf-material-node-icon.mjs.map +1 -0
  152. package/fesm2020/{page-slider.mjs → ajf-material-page-slider.mjs} +10 -32
  153. package/fesm2020/ajf-material-page-slider.mjs.map +1 -0
  154. package/{fesm2015/reports.mjs → fesm2020/ajf-material-reports.mjs} +80 -133
  155. package/fesm2020/ajf-material-reports.mjs.map +1 -0
  156. package/fesm2020/{time.mjs → ajf-material-time.mjs} +8 -30
  157. package/fesm2020/ajf-material-time.mjs.map +1 -0
  158. package/{barcode/index.d.ts → fesm2020/ajf-material.mjs} +7 -1
  159. package/fesm2020/ajf-material.mjs.map +1 -0
  160. package/form-builder/ajf-material-form-builder.d.ts +5 -0
  161. package/form-builder/branch-line.d.ts +0 -0
  162. package/form-builder/choices-origin-data-source.d.ts +0 -0
  163. package/form-builder/choices-origin-editor-dialog.d.ts +0 -0
  164. package/form-builder/choices-origin-editor.d.ts +2 -2
  165. package/form-builder/condition-editor-dialog.d.ts +0 -0
  166. package/form-builder/condition-editor.d.ts +0 -0
  167. package/form-builder/form-builder-module.d.ts +0 -0
  168. package/form-builder/form-builder-service.d.ts +1 -1
  169. package/form-builder/form-builder-utils.d.ts +0 -0
  170. package/form-builder/form-builder.d.ts +2 -2
  171. package/form-builder/node-entry.d.ts +2 -2
  172. package/form-builder/node-properties.d.ts +3 -3
  173. package/form-builder/node-type-entry.d.ts +2 -2
  174. package/form-builder/operations.d.ts +0 -0
  175. package/form-builder/package.json +8 -7
  176. package/form-builder/{public-api.d.ts → public_api.d.ts} +0 -0
  177. package/form-builder/string-identifier-dialog.d.ts +0 -0
  178. package/form-builder/validation-condition-editor-dialog.d.ts +0 -0
  179. package/form-builder/warning-condition-editor-dialog.d.ts +0 -0
  180. package/forms/ajf-material-forms.d.ts +5 -0
  181. package/forms/barcode-field.d.ts +0 -0
  182. package/forms/boolean-field.d.ts +0 -0
  183. package/forms/date-field.d.ts +0 -0
  184. package/forms/date-input-field.d.ts +0 -0
  185. package/forms/empty-field.d.ts +0 -0
  186. package/forms/field-service.d.ts +0 -0
  187. package/forms/field-warning-dialog.d.ts +0 -0
  188. package/forms/field.d.ts +0 -0
  189. package/forms/form.d.ts +0 -0
  190. package/forms/forms-module.d.ts +15 -14
  191. package/forms/input-field.d.ts +0 -0
  192. package/forms/multiple-choice-field.d.ts +0 -0
  193. package/forms/package.json +8 -7
  194. package/forms/{public-api.d.ts → public_api.d.ts} +0 -0
  195. package/forms/range-field.d.ts +0 -0
  196. package/forms/single-choice-field.d.ts +0 -0
  197. package/forms/table-field.d.ts +0 -0
  198. package/forms/text-field.d.ts +0 -0
  199. package/forms/time-field.d.ts +0 -0
  200. package/forms/video-url-field.d.ts +0 -0
  201. package/forms/warning-alert-service.d.ts +0 -0
  202. package/image/ajf-material-image.d.ts +5 -0
  203. package/image/image-module.d.ts +0 -0
  204. package/image/image.d.ts +0 -0
  205. package/image/package.json +8 -7
  206. package/image/{public-api.d.ts → public_api.d.ts} +0 -0
  207. package/monaco-editor/ajf-material-monaco-editor.d.ts +5 -0
  208. package/monaco-editor/auto-complete-item-model.d.ts +0 -0
  209. package/monaco-editor/autocomplete-singleton-model.d.ts +0 -0
  210. package/monaco-editor/editor-language-model.d.ts +0 -0
  211. package/monaco-editor/editor-options-model.d.ts +0 -0
  212. package/monaco-editor/editor-scrollbar-options.d.ts +0 -0
  213. package/monaco-editor/editor-theme.d.ts +0 -0
  214. package/monaco-editor/monaco-editor-module.d.ts +0 -0
  215. package/monaco-editor/monaco-editor.d.ts +0 -0
  216. package/monaco-editor/package.json +8 -7
  217. package/monaco-editor/{public-api.d.ts → public_api.d.ts} +0 -0
  218. package/node-icon/ajf-material-node-icon.d.ts +5 -0
  219. package/node-icon/node-icon-module.d.ts +0 -0
  220. package/node-icon/node-icon.d.ts +0 -0
  221. package/node-icon/package.json +8 -7
  222. package/node-icon/{public-api.d.ts → public_api.d.ts} +0 -0
  223. package/package.json +90 -92
  224. package/page-slider/ajf-material-page-slider.d.ts +5 -0
  225. package/page-slider/package.json +8 -7
  226. package/page-slider/page-slider-module.d.ts +0 -0
  227. package/page-slider/page-slider.d.ts +0 -0
  228. package/page-slider/{public-api.d.ts → public_api.d.ts} +0 -0
  229. package/{checkbox-group/index.d.ts → public-api.d.ts} +2 -1
  230. package/reports/ajf-material-reports.d.ts +5 -0
  231. package/reports/chart-widget.d.ts +0 -0
  232. package/reports/filter-widget.d.ts +6 -29
  233. package/reports/formula-widget.d.ts +0 -0
  234. package/reports/image-container-widget.d.ts +0 -0
  235. package/reports/image-widget.d.ts +0 -0
  236. package/reports/map-widget.d.ts +0 -0
  237. package/reports/package.json +8 -7
  238. package/reports/page-break-widget.d.ts +0 -0
  239. package/reports/{public-api.d.ts → public_api.d.ts} +0 -0
  240. package/reports/report.d.ts +0 -0
  241. package/reports/reports-module.d.ts +0 -0
  242. package/reports/table-widget.d.ts +0 -0
  243. package/reports/text-widget.d.ts +0 -0
  244. package/reports/widget.d.ts +0 -0
  245. package/time/ajf-material-time.d.ts +5 -0
  246. package/time/package.json +8 -7
  247. package/time/{public-api.d.ts → public_api.d.ts} +0 -0
  248. package/time/time-module.d.ts +0 -0
  249. package/time/time.d.ts +0 -0
  250. package/LICENSE +0 -661
  251. package/barcode/_barcode.scss +0 -0
  252. package/barcode/barcode_public_index.d.ts +0 -4
  253. package/calendar/_calendar.scss +0 -0
  254. package/calendar/calendar_public_index.d.ts +0 -4
  255. package/checkbox-group/_checkbox-group.scss +0 -0
  256. package/checkbox-group/checkbox-group_public_index.d.ts +0 -4
  257. package/esm2020/barcode/barcode_public_index.mjs +0 -5
  258. package/esm2020/barcode/index.mjs +0 -23
  259. package/esm2020/calendar/calendar_public_index.mjs +0 -5
  260. package/esm2020/calendar/index.mjs +0 -23
  261. package/esm2020/checkbox-group/checkbox-group_public_index.mjs +0 -5
  262. package/esm2020/checkbox-group/index.mjs +0 -23
  263. package/esm2020/checkbox-group/public-api.mjs +0 -24
  264. package/esm2020/form-builder/form-builder_public_index.mjs +0 -5
  265. package/esm2020/forms/forms_public_index.mjs +0 -5
  266. package/esm2020/forms/index.mjs +0 -23
  267. package/esm2020/forms/public-api.mjs +0 -37
  268. package/esm2020/image/image_public_index.mjs +0 -5
  269. package/esm2020/image/index.mjs +0 -23
  270. package/esm2020/index.mjs +0 -28
  271. package/esm2020/monaco-editor/index.mjs +0 -23
  272. package/esm2020/monaco-editor/monaco-editor_public_index.mjs +0 -5
  273. package/esm2020/node-icon/index.mjs +0 -23
  274. package/esm2020/node-icon/node-icon_public_index.mjs +0 -5
  275. package/esm2020/node-icon/public-api.mjs +0 -24
  276. package/esm2020/page-slider/index.mjs +0 -23
  277. package/esm2020/page-slider/page-slider_public_index.mjs +0 -5
  278. package/esm2020/reports/index.mjs +0 -23
  279. package/esm2020/reports/public-api.mjs +0 -34
  280. package/esm2020/reports/reports_public_index.mjs +0 -5
  281. package/esm2020/time/public-api.mjs +0 -24
  282. package/esm2020/time/time_public_index.mjs +0 -5
  283. package/fesm2015/barcode.mjs.map +0 -1
  284. package/fesm2015/calendar.mjs +0 -138
  285. package/fesm2015/calendar.mjs.map +0 -1
  286. package/fesm2015/checkbox-group.mjs.map +0 -1
  287. package/fesm2015/form-builder.mjs.map +0 -1
  288. package/fesm2015/forms.mjs +0 -1011
  289. package/fesm2015/forms.mjs.map +0 -1
  290. package/fesm2015/image.mjs.map +0 -1
  291. package/fesm2015/material.mjs +0 -30
  292. package/fesm2015/material.mjs.map +0 -1
  293. package/fesm2015/monaco-editor.mjs.map +0 -1
  294. package/fesm2015/node-icon.mjs.map +0 -1
  295. package/fesm2015/page-slider.mjs.map +0 -1
  296. package/fesm2015/reports.mjs.map +0 -1
  297. package/fesm2015/time.mjs.map +0 -1
  298. package/fesm2020/barcode.mjs.map +0 -1
  299. package/fesm2020/calendar.mjs +0 -138
  300. package/fesm2020/calendar.mjs.map +0 -1
  301. package/fesm2020/checkbox-group.mjs.map +0 -1
  302. package/fesm2020/form-builder.mjs.map +0 -1
  303. package/fesm2020/forms.mjs +0 -985
  304. package/fesm2020/forms.mjs.map +0 -1
  305. package/fesm2020/image.mjs.map +0 -1
  306. package/fesm2020/material.mjs +0 -30
  307. package/fesm2020/material.mjs.map +0 -1
  308. package/fesm2020/monaco-editor.mjs.map +0 -1
  309. package/fesm2020/node-icon.mjs.map +0 -1
  310. package/fesm2020/page-slider.mjs.map +0 -1
  311. package/fesm2020/reports.mjs.map +0 -1
  312. package/fesm2020/time.mjs.map +0 -1
  313. package/form-builder/_form-builder.scss +0 -0
  314. package/form-builder/form-builder_public_index.d.ts +0 -4
  315. package/form-builder/index.d.ts +0 -22
  316. package/forms/_forms.scss +0 -0
  317. package/forms/forms_public_index.d.ts +0 -4
  318. package/forms/index.d.ts +0 -22
  319. package/image/_image.scss +0 -0
  320. package/image/image_public_index.d.ts +0 -4
  321. package/image/index.d.ts +0 -22
  322. package/index.d.ts +0 -22
  323. package/monaco-editor/_monaco-editor.scss +0 -0
  324. package/monaco-editor/index.d.ts +0 -22
  325. package/monaco-editor/monaco-editor_public_index.d.ts +0 -4
  326. package/node-icon/_node-icon.scss +0 -0
  327. package/node-icon/index.d.ts +0 -22
  328. package/node-icon/node-icon_public_index.d.ts +0 -4
  329. package/page-slider/_page-slider.scss +0 -0
  330. package/page-slider/index.d.ts +0 -22
  331. package/page-slider/page-slider_public_index.d.ts +0 -4
  332. package/reports/_reports.scss +0 -0
  333. package/reports/index.d.ts +0 -22
  334. package/reports/layout-widget.d.ts +0 -21
  335. package/reports/reports_public_index.d.ts +0 -4
  336. package/time/_time.scss +0 -0
  337. package/time/index.d.ts +0 -22
  338. package/time/time_public_index.d.ts +0 -4
@@ -0,0 +1,1000 @@
1
+ import * as i1$1 from '@ajf/core/forms';
2
+ import { AjfBaseFieldComponent, AJF_WARNING_ALERT_SERVICE, AjfInputFieldComponent as AjfInputFieldComponent$1, AjfFieldWithChoicesComponent, AJF_SEARCH_ALERT_THRESHOLD, AjfTableFieldComponent as AjfTableFieldComponent$1, AjfVideoUrlFieldComponent as AjfVideoUrlFieldComponent$1, AjfFieldService as AjfFieldService$1, AjfFieldType, AjfReadOnlyFieldComponent, AjfReadOnlyTableFieldComponent, AjfReadOnlySelectFieldComponent, AjfFileFieldComponent, AjfReadOnlyFileFieldComponent, AjfImageFieldComponent, AjfReadOnlyImageFieldComponent, AjfReadOnlyVideoUrlFieldComponent, AjfFormField as AjfFormField$1, AjfFormRenderer as AjfFormRenderer$1, AjfFormsModule as AjfFormsModule$1 } from '@ajf/core/forms';
3
+ import * as i0 from '@angular/core';
4
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, Injectable, Inject, ViewChild, Optional, Input, NgModule } from '@angular/core';
5
+ import * as i2$1 from '@angular/material/slide-toggle';
6
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
7
+ import * as i3 from '@angular/common';
8
+ import { CommonModule } from '@angular/common';
9
+ import * as i4 from '@angular/forms';
10
+ import { ReactiveFormsModule } from '@angular/forms';
11
+ import { map } from 'rxjs/operators';
12
+ import * as i1 from '@angular/material/button';
13
+ import { MatButtonModule } from '@angular/material/button';
14
+ import * as i2 from '@angular/material/dialog';
15
+ import { MatDialogModule } from '@angular/material/dialog';
16
+ import * as i2$2 from '@ajf/material/calendar';
17
+ import { AjfCalendarModule } from '@ajf/material/calendar';
18
+ import * as i4$1 from '@angular/material/input';
19
+ import { MatInput, MatInputModule } from '@angular/material/input';
20
+ import * as i2$3 from '@angular/material/form-field';
21
+ import { MatFormFieldModule } from '@angular/material/form-field';
22
+ import * as i3$1 from '@ngneat/transloco';
23
+ import * as i2$4 from '@ajf/material/barcode';
24
+ import { AjfBarcodeModule } from '@ajf/material/barcode';
25
+ import * as i2$5 from '@angular/material/select';
26
+ import { MatSelectModule } from '@angular/material/select';
27
+ import * as i3$2 from '@angular/material/core';
28
+ import * as i4$2 from '@ajf/material/checkbox-group';
29
+ import { AjfCheckboxGroupModule } from '@ajf/material/checkbox-group';
30
+ import * as i7 from '@ajf/core/checkbox-group';
31
+ import { AjfRange } from '@ajf/core/range';
32
+ import * as i2$6 from '@angular/material/slider';
33
+ import { MatSliderModule } from '@angular/material/slider';
34
+ import * as i4$3 from '@angular/material/radio';
35
+ import { MatRadioModule } from '@angular/material/radio';
36
+ import * as i4$4 from '@ajf/core/common';
37
+ import { AjfCommonModule } from '@ajf/core/common';
38
+ import * as i5 from '@angular/cdk/text-field';
39
+ import { TextFieldModule } from '@angular/cdk/text-field';
40
+ import * as i2$7 from '@ajf/material/time';
41
+ import { AjfTimeModule } from '@ajf/material/time';
42
+ import * as i2$8 from '@angular/platform-browser';
43
+ import * as i3$3 from '@angular/common/http';
44
+ import * as i2$9 from '@angular/material/toolbar';
45
+ import { MatToolbarModule } from '@angular/material/toolbar';
46
+ import * as i3$4 from '@angular/material/button-toggle';
47
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
48
+ import * as i4$5 from '@angular/material/icon';
49
+ import { MatIconModule } from '@angular/material/icon';
50
+ import * as i6 from '@ajf/material/page-slider';
51
+ import { AjfPageSliderModule } from '@ajf/material/page-slider';
52
+ import * as i7$1 from '@ajf/core/page-slider';
53
+ import * as i8 from '@angular/material/card';
54
+ import { MatCardModule } from '@angular/material/card';
55
+ import * as i12 from '@angular/material/tooltip';
56
+ import { MatTooltipModule } from '@angular/material/tooltip';
57
+ import { AjfTranslocoModule } from '@ajf/core/transloco';
58
+
59
+ /**
60
+ * @license
61
+ * Copyright (C) Gnucoop soc. coop.
62
+ *
63
+ * This file is part of the Advanced JSON forms (ajf).
64
+ *
65
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
66
+ * modify it under the terms of the GNU Affero General Public License as
67
+ * published by the Free Software Foundation, either version 3 of the License,
68
+ * or (at your option) any later version.
69
+ *
70
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
71
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
72
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
73
+ * General Public License for more details.
74
+ *
75
+ * You should have received a copy of the GNU Affero General Public License
76
+ * along with Advanced JSON forms (ajf).
77
+ * If not, see http://www.gnu.org/licenses/.
78
+ *
79
+ */
80
+ class AjfFieldWarningDialog {
81
+ constructor() {
82
+ this.message = '';
83
+ }
84
+ }
85
+ AjfFieldWarningDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFieldWarningDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
86
+ AjfFieldWarningDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", 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 });
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFieldWarningDialog, decorators: [{
88
+ type: Component,
89
+ 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" }]
90
+ }] });
91
+
92
+ class AjfWarningAlertService {
93
+ constructor(_dialog) {
94
+ this._dialog = _dialog;
95
+ }
96
+ showWarningAlertPrompt(warnings) {
97
+ const dialog = this._dialog.open(AjfFieldWarningDialog);
98
+ dialog.componentInstance.message = warnings.join('<br>');
99
+ return dialog.afterClosed().pipe(map((result) => ({ result })));
100
+ }
101
+ }
102
+ AjfWarningAlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfWarningAlertService, deps: [{ token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
103
+ AjfWarningAlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfWarningAlertService });
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfWarningAlertService, decorators: [{
105
+ type: Injectable
106
+ }], ctorParameters: function () { return [{ type: i2.MatDialog }]; } });
107
+
108
+ /**
109
+ * @license
110
+ * Copyright (C) Gnucoop soc. coop.
111
+ *
112
+ * This file is part of the Advanced JSON forms (ajf).
113
+ *
114
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
115
+ * modify it under the terms of the GNU Affero General Public License as
116
+ * published by the Free Software Foundation, either version 3 of the License,
117
+ * or (at your option) any later version.
118
+ *
119
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
120
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
121
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
122
+ * General Public License for more details.
123
+ *
124
+ * You should have received a copy of the GNU Affero General Public License
125
+ * along with Advanced JSON forms (ajf).
126
+ * If not, see http://www.gnu.org/licenses/.
127
+ *
128
+ */
129
+ class AjfBooleanFieldComponent extends AjfBaseFieldComponent {
130
+ constructor(cdr, service, was) {
131
+ super(cdr, service, was);
132
+ }
133
+ }
134
+ AjfBooleanFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfBooleanFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
135
+ AjfBooleanFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfBooleanFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<mat-slide-toggle *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></mat-slide-toggle>\n", styles: [""], components: [{ type: i2$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfBooleanFieldComponent, decorators: [{
137
+ type: Component,
138
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<mat-slide-toggle *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></mat-slide-toggle>\n", styles: [""] }]
139
+ }], ctorParameters: function () {
140
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
141
+ type: Inject,
142
+ args: [AJF_WARNING_ALERT_SERVICE]
143
+ }] }];
144
+ } });
145
+
146
+ /**
147
+ * @license
148
+ * Copyright (C) Gnucoop soc. coop.
149
+ *
150
+ * This file is part of the Advanced JSON forms (ajf).
151
+ *
152
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
153
+ * modify it under the terms of the GNU Affero General Public License as
154
+ * published by the Free Software Foundation, either version 3 of the License,
155
+ * or (at your option) any later version.
156
+ *
157
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
158
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
159
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
160
+ * General Public License for more details.
161
+ *
162
+ * You should have received a copy of the GNU Affero General Public License
163
+ * along with Advanced JSON forms (ajf).
164
+ * If not, see http://www.gnu.org/licenses/.
165
+ *
166
+ */
167
+ class AjfDateFieldComponent extends AjfBaseFieldComponent {
168
+ constructor(cdr, service, was) {
169
+ super(cdr, service, was);
170
+ }
171
+ }
172
+ AjfDateFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfDateFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
173
+ AjfDateFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfDateFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ajf-calendar\n *ngIf=\"control|async as ctrl\"\n selectionMode=\"day\"\n [dateOnlyForDay]=\"true\"\n [minDate]=\"instance!.node.minDate|ajfDateValue\"\n [maxDate]=\"instance!.node.maxDate|ajfDateValue\"\n [formControl]=\"ctrl!\"\n></ajf-calendar>\n", styles: [""], components: [{ type: i2$2.AjfCalendarComponent, selector: "ajf-calendar" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "ajfDateValue": i1$1.AjfDateValuePipe, "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfDateFieldComponent, decorators: [{
175
+ type: Component,
176
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ajf-calendar\n *ngIf=\"control|async as ctrl\"\n selectionMode=\"day\"\n [dateOnlyForDay]=\"true\"\n [minDate]=\"instance!.node.minDate|ajfDateValue\"\n [maxDate]=\"instance!.node.maxDate|ajfDateValue\"\n [formControl]=\"ctrl!\"\n></ajf-calendar>\n", styles: [""] }]
177
+ }], ctorParameters: function () {
178
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
179
+ type: Inject,
180
+ args: [AJF_WARNING_ALERT_SERVICE]
181
+ }] }];
182
+ } });
183
+
184
+ /**
185
+ * @license
186
+ * Copyright (C) Gnucoop soc. coop.
187
+ *
188
+ * This file is part of the Advanced JSON forms (ajf).
189
+ *
190
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
191
+ * modify it under the terms of the GNU Affero General Public License as
192
+ * published by the Free Software Foundation, either version 3 of the License,
193
+ * or (at your option) any later version.
194
+ *
195
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
196
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
197
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
198
+ * General Public License for more details.
199
+ *
200
+ * You should have received a copy of the GNU Affero General Public License
201
+ * along with Advanced JSON forms (ajf).
202
+ * If not, see http://www.gnu.org/licenses/.
203
+ *
204
+ */
205
+ class AjfDateInputFieldComponent extends AjfBaseFieldComponent {
206
+ constructor(cdr, service, was, _dvs) {
207
+ super(cdr, service, was);
208
+ this._dvs = _dvs;
209
+ }
210
+ onChange() {
211
+ if (this.input == null) {
212
+ return;
213
+ }
214
+ const val = this.input.value || '';
215
+ if (val.length > 0) {
216
+ if ((this._minDateStr != null && val < this._minDateStr) ||
217
+ (this._maxDateStr != null && val > this._maxDateStr)) {
218
+ this.input.value = '';
219
+ }
220
+ }
221
+ }
222
+ _onInstanceChange() {
223
+ if (this.instance == null) {
224
+ return;
225
+ }
226
+ this._minDateStr = this._dvs.transform(this.instance.node.minDate);
227
+ this._maxDateStr = this._dvs.transform(this.instance.node.maxDate);
228
+ }
229
+ }
230
+ AjfDateInputFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfDateInputFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }, { token: i1$1.AjfDateValueStringPipe }], target: i0.ɵɵFactoryTarget.Component });
231
+ AjfDateInputFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfDateInputFieldComponent, selector: "ng-component", viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field *ngIf=\"control|async as ctrl\">\n <input matInput type=\"date\"\n [attr.aria-label]=\"instance!|ajfNodeCompleteName\"\n [min]=\"instance!.node.minDate|ajfDateValueString\"\n [max]=\"instance!.node.maxDate|ajfDateValueString\"\n (change)=\"onChange()\"\n [formControl]=\"ctrl!\">\n</mat-form-field>\n", styles: [""], components: [{ type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i3.AsyncPipe, "ajfNodeCompleteName": i1$1.AjfNodeCompleteNamePipe, "ajfDateValueString": i1$1.AjfDateValueStringPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfDateInputFieldComponent, decorators: [{
233
+ type: Component,
234
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<mat-form-field *ngIf=\"control|async as ctrl\">\n <input matInput type=\"date\"\n [attr.aria-label]=\"instance!|ajfNodeCompleteName\"\n [min]=\"instance!.node.minDate|ajfDateValueString\"\n [max]=\"instance!.node.maxDate|ajfDateValueString\"\n (change)=\"onChange()\"\n [formControl]=\"ctrl!\">\n</mat-form-field>\n", styles: [""] }]
235
+ }], ctorParameters: function () {
236
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
237
+ type: Inject,
238
+ args: [AJF_WARNING_ALERT_SERVICE]
239
+ }] }, { type: i1$1.AjfDateValueStringPipe }];
240
+ }, propDecorators: { input: [{
241
+ type: ViewChild,
242
+ args: [MatInput, { static: false }]
243
+ }] } });
244
+
245
+ /**
246
+ * @license
247
+ * Copyright (C) Gnucoop soc. coop.
248
+ *
249
+ * This file is part of the Advanced JSON forms (ajf).
250
+ *
251
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
252
+ * modify it under the terms of the GNU Affero General Public License as
253
+ * published by the Free Software Foundation, either version 3 of the License,
254
+ * or (at your option) any later version.
255
+ *
256
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
257
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
258
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
259
+ * General Public License for more details.
260
+ *
261
+ * You should have received a copy of the GNU Affero General Public License
262
+ * along with Advanced JSON forms (ajf).
263
+ * If not, see http://www.gnu.org/licenses/.
264
+ *
265
+ */
266
+ class AjfEmptyFieldComponent extends AjfBaseFieldComponent {
267
+ constructor(cdr, service, was) {
268
+ super(cdr, service, was);
269
+ }
270
+ }
271
+ AjfEmptyFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEmptyFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
272
+ AjfEmptyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfEmptyFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"instance\">\n <h1 [innerHTML]=\"instance.node.label | transloco\"></h1>\n <div [innerHTML]=\"instance.node.HTML | transloco\"></div>\n</ng-container>\n", styles: [""], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "transloco": i3$1.TranslocoPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEmptyFieldComponent, decorators: [{
274
+ type: Component,
275
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"instance\">\n <h1 [innerHTML]=\"instance.node.label | transloco\"></h1>\n <div [innerHTML]=\"instance.node.HTML | transloco\"></div>\n</ng-container>\n", styles: [""] }]
276
+ }], ctorParameters: function () {
277
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
278
+ type: Inject,
279
+ args: [AJF_WARNING_ALERT_SERVICE]
280
+ }] }];
281
+ } });
282
+
283
+ /**
284
+ * @license
285
+ * Copyright (C) Gnucoop soc. coop.
286
+ *
287
+ * This file is part of the Advanced JSON forms (ajf).
288
+ *
289
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
290
+ * modify it under the terms of the GNU Affero General Public License as
291
+ * published by the Free Software Foundation, either version 3 of the License,
292
+ * or (at your option) any later version.
293
+ *
294
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
295
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
296
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
297
+ * General Public License for more details.
298
+ *
299
+ * You should have received a copy of the GNU Affero General Public License
300
+ * along with Advanced JSON forms (ajf).
301
+ * If not, see http://www.gnu.org/licenses/.
302
+ *
303
+ */
304
+ class AjfBarcodeFieldComponent extends AjfBaseFieldComponent {
305
+ constructor(cdr, service, was) {
306
+ super(cdr, service, was);
307
+ }
308
+ }
309
+ AjfBarcodeFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfBarcodeFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
310
+ AjfBarcodeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfBarcodeFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ajf-barcode *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-barcode>\n", styles: [""], components: [{ type: i2$4.AjfBarcodeComponent, selector: "ajf-barcode" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
311
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfBarcodeFieldComponent, decorators: [{
312
+ type: Component,
313
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ajf-barcode *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-barcode>\n", styles: [""] }]
314
+ }], ctorParameters: function () {
315
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
316
+ type: Inject,
317
+ args: [AJF_WARNING_ALERT_SERVICE]
318
+ }] }];
319
+ } });
320
+
321
+ /**
322
+ * @license
323
+ * Copyright (C) Gnucoop soc. coop.
324
+ *
325
+ * This file is part of the Advanced JSON forms (ajf).
326
+ *
327
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
328
+ * modify it under the terms of the GNU Affero General Public License as
329
+ * published by the Free Software Foundation, either version 3 of the License,
330
+ * or (at your option) any later version.
331
+ *
332
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
333
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
334
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
335
+ * General Public License for more details.
336
+ *
337
+ * You should have received a copy of the GNU Affero General Public License
338
+ * along with Advanced JSON forms (ajf).
339
+ * If not, see http://www.gnu.org/licenses/.
340
+ *
341
+ */
342
+ class AjfInputFieldComponent extends AjfInputFieldComponent$1 {
343
+ constructor(cdr, service, was) {
344
+ super(cdr, service, was);
345
+ }
346
+ }
347
+ AjfInputFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfInputFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
348
+ AjfInputFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfInputFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<mat-form-field *ngIf=\"control|async as ctrl\">\n <input matInput *ngIf=\"type === 'text'\" type=\"text\" [formControl]=\"ctrl!\"\n [readonly]=\"instance!|ajfIsReadonlyInputField\" [attr.aria-labelledby]=\"instance!.node.name\">\n <input matInput *ngIf=\"type === 'number'\" type=\"number\" [formControl]=\"ctrl!\"\n [readonly]=\"instance!|ajfIsReadonlyInputField\" [attr.aria-labelledby]=\"instance!.node.name\">\n</mat-form-field>\n", styles: [""], components: [{ type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }], pipes: { "async": i3.AsyncPipe, "ajfIsReadonlyInputField": i1$1.AjfIsReadonlyInputFieldPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
349
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfInputFieldComponent, decorators: [{
350
+ type: Component,
351
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<mat-form-field *ngIf=\"control|async as ctrl\">\n <input matInput *ngIf=\"type === 'text'\" type=\"text\" [formControl]=\"ctrl!\"\n [readonly]=\"instance!|ajfIsReadonlyInputField\" [attr.aria-labelledby]=\"instance!.node.name\">\n <input matInput *ngIf=\"type === 'number'\" type=\"number\" [formControl]=\"ctrl!\"\n [readonly]=\"instance!|ajfIsReadonlyInputField\" [attr.aria-labelledby]=\"instance!.node.name\">\n</mat-form-field>\n", styles: [""] }]
352
+ }], ctorParameters: function () {
353
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
354
+ type: Inject,
355
+ args: [AJF_WARNING_ALERT_SERVICE]
356
+ }] }];
357
+ } });
358
+
359
+ /**
360
+ * @license
361
+ * Copyright (C) Gnucoop soc. coop.
362
+ *
363
+ * This file is part of the Advanced JSON forms (ajf).
364
+ *
365
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
366
+ * modify it under the terms of the GNU Affero General Public License as
367
+ * published by the Free Software Foundation, either version 3 of the License,
368
+ * or (at your option) any later version.
369
+ *
370
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
371
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
372
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
373
+ * General Public License for more details.
374
+ *
375
+ * You should have received a copy of the GNU Affero General Public License
376
+ * along with Advanced JSON forms (ajf).
377
+ * If not, see http://www.gnu.org/licenses/.
378
+ *
379
+ */
380
+ class AjfMultipleChoiceFieldComponent extends AjfFieldWithChoicesComponent {
381
+ constructor(cdr, service, was, searchThreshold) {
382
+ super(cdr, service, was, searchThreshold);
383
+ }
384
+ }
385
+ AjfMultipleChoiceFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfMultipleChoiceFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }, { token: AJF_SEARCH_ALERT_THRESHOLD, optional: true }], target: i0.ɵɵFactoryTarget.Component });
386
+ AjfMultipleChoiceFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfMultipleChoiceFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"instance\">\n <ng-container *ngIf=\"!(instance|ajfExpandFieldWithChoices:searchThreshold); else expanded\">\n <mat-select *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\" [multiple]=\"true\">\n <mat-option [value]=\"choice.value\"\n *ngFor=\"let choice of instance!.filteredChoices\">\n {{ choice.label | transloco }}\n </mat-option>\n </mat-select>\n </ng-container>\n</ng-container>\n<ng-template #expanded>\n <ajf-checkbox-group *ngIf=\"control|async as ctrl\" class=\"ajf-choices-container\"\n [formControl]=\"ctrl!\">\n <ajf-checkbox-group-item *ngFor=\"let choice of instance!.filteredChoices\"\n [value]=\"choice.value\">\n {{ choice.label | transloco }}\n </ajf-checkbox-group-item>\n </ajf-checkbox-group>\n</ng-template>\n", styles: [""], components: [{ type: i2$5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3$2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i4$2.CheckboxGroupItem, selector: "ajf-checkbox-group-item" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.AjfCheckboxGroup, selector: "ajf-checkbox-group,[ajf-checkbox-group]", inputs: ["value", "name", "disabled"], outputs: ["change"] }], pipes: { "ajfExpandFieldWithChoices": i1$1.AjfExpandFieldWithChoicesPipe, "async": i3.AsyncPipe, "transloco": i3$1.TranslocoPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
387
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfMultipleChoiceFieldComponent, decorators: [{
388
+ type: Component,
389
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"instance\">\n <ng-container *ngIf=\"!(instance|ajfExpandFieldWithChoices:searchThreshold); else expanded\">\n <mat-select *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\" [multiple]=\"true\">\n <mat-option [value]=\"choice.value\"\n *ngFor=\"let choice of instance!.filteredChoices\">\n {{ choice.label | transloco }}\n </mat-option>\n </mat-select>\n </ng-container>\n</ng-container>\n<ng-template #expanded>\n <ajf-checkbox-group *ngIf=\"control|async as ctrl\" class=\"ajf-choices-container\"\n [formControl]=\"ctrl!\">\n <ajf-checkbox-group-item *ngFor=\"let choice of instance!.filteredChoices\"\n [value]=\"choice.value\">\n {{ choice.label | transloco }}\n </ajf-checkbox-group-item>\n </ajf-checkbox-group>\n</ng-template>\n", styles: [""] }]
390
+ }], ctorParameters: function () {
391
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
392
+ type: Inject,
393
+ args: [AJF_WARNING_ALERT_SERVICE]
394
+ }] }, { type: undefined, decorators: [{
395
+ type: Optional
396
+ }, {
397
+ type: Inject,
398
+ args: [AJF_SEARCH_ALERT_THRESHOLD]
399
+ }] }];
400
+ } });
401
+
402
+ /**
403
+ * @license
404
+ * Copyright (C) Gnucoop soc. coop.
405
+ *
406
+ * This file is part of the Advanced JSON forms (ajf).
407
+ *
408
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
409
+ * modify it under the terms of the GNU Affero General Public License as
410
+ * published by the Free Software Foundation, either version 3 of the License,
411
+ * or (at your option) any later version.
412
+ *
413
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
414
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
415
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
416
+ * General Public License for more details.
417
+ *
418
+ * You should have received a copy of the GNU Affero General Public License
419
+ * along with Advanced JSON forms (ajf).
420
+ * If not, see http://www.gnu.org/licenses/.
421
+ *
422
+ */
423
+ class AjfRangeFieldComponent extends AjfRange {
424
+ constructor(cdr, service, was) {
425
+ super(cdr, service, was);
426
+ }
427
+ }
428
+ AjfRangeFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfRangeFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
429
+ AjfRangeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfRangeFieldComponent, selector: "ajf-range", usesInheritance: true, ngImport: i0, template: "<mat-slider\n *ngIf=\"control|async as ctrl\"\n thumbLabel\n [formControl]=\"ctrl!\"\n [tickInterval]=\"step\"\n [step]=\"step\"\n [min]=\"start\"\n [max]=\"end\"\n [attr.aria-label]=\"name\"\n [attr.name]=\"name\"\n></mat-slider>\n", styles: [""], components: [{ type: i2$6.MatSlider, selector: "mat-slider", inputs: ["disabled", "color", "tabIndex", "invert", "max", "min", "step", "thumbLabel", "tickInterval", "value", "displayWith", "valueText", "vertical"], outputs: ["change", "input", "valueChange"], exportAs: ["matSlider"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
430
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfRangeFieldComponent, decorators: [{
431
+ type: Component,
432
+ args: [{ selector: 'ajf-range', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<mat-slider\n *ngIf=\"control|async as ctrl\"\n thumbLabel\n [formControl]=\"ctrl!\"\n [tickInterval]=\"step\"\n [step]=\"step\"\n [min]=\"start\"\n [max]=\"end\"\n [attr.aria-label]=\"name\"\n [attr.name]=\"name\"\n></mat-slider>\n", styles: [""] }]
433
+ }], ctorParameters: function () {
434
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
435
+ type: Inject,
436
+ args: [AJF_WARNING_ALERT_SERVICE]
437
+ }] }];
438
+ } });
439
+
440
+ /**
441
+ * @license
442
+ * Copyright (C) Gnucoop soc. coop.
443
+ *
444
+ * This file is part of the Advanced JSON forms (ajf).
445
+ *
446
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
447
+ * modify it under the terms of the GNU Affero General Public License as
448
+ * published by the Free Software Foundation, either version 3 of the License,
449
+ * or (at your option) any later version.
450
+ *
451
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
452
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
453
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
454
+ * General Public License for more details.
455
+ *
456
+ * You should have received a copy of the GNU Affero General Public License
457
+ * along with Advanced JSON forms (ajf).
458
+ * If not, see http://www.gnu.org/licenses/.
459
+ *
460
+ */
461
+ class AjfSingleChoiceFieldComponent extends AjfFieldWithChoicesComponent {
462
+ constructor(cdr, service, was, searchThreshold) {
463
+ super(cdr, service, was, searchThreshold);
464
+ }
465
+ }
466
+ AjfSingleChoiceFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfSingleChoiceFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }, { token: AJF_SEARCH_ALERT_THRESHOLD, optional: true }], target: i0.ɵɵFactoryTarget.Component });
467
+ AjfSingleChoiceFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfSingleChoiceFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"instance\">\n <ng-container *ngIf=\"!(instance|ajfExpandFieldWithChoices:searchThreshold) ; else expanded\">\n <mat-select *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\">\n <mat-option [value]=\"choice.value\"\n *ngFor=\"let choice of instance!.filteredChoices\">\n {{ choice.label | transloco }}\n </mat-option>\n </mat-select>\n </ng-container>\n</ng-container>\n<ng-template #expanded>\n <mat-radio-group *ngIf=\"control|async as ctrl\" class=\"ajf-choices-container\"\n [attr.aria-labelledby]=\"instance!.node.name\"\n [formControl]=\"ctrl!\">\n <mat-radio-button [value]=\"choice.value\"\n *ngFor=\"let choice of instance!.filteredChoices\">\n {{ choice.label | transloco }}\n </mat-radio-button>\n </mat-radio-group>\n</ng-template>\n", styles: [""], components: [{ type: i2$5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3$2.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i4$3.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$3.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }], pipes: { "ajfExpandFieldWithChoices": i1$1.AjfExpandFieldWithChoicesPipe, "async": i3.AsyncPipe, "transloco": i3$1.TranslocoPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfSingleChoiceFieldComponent, decorators: [{
469
+ type: Component,
470
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"instance\">\n <ng-container *ngIf=\"!(instance|ajfExpandFieldWithChoices:searchThreshold) ; else expanded\">\n <mat-select *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\">\n <mat-option [value]=\"choice.value\"\n *ngFor=\"let choice of instance!.filteredChoices\">\n {{ choice.label | transloco }}\n </mat-option>\n </mat-select>\n </ng-container>\n</ng-container>\n<ng-template #expanded>\n <mat-radio-group *ngIf=\"control|async as ctrl\" class=\"ajf-choices-container\"\n [attr.aria-labelledby]=\"instance!.node.name\"\n [formControl]=\"ctrl!\">\n <mat-radio-button [value]=\"choice.value\"\n *ngFor=\"let choice of instance!.filteredChoices\">\n {{ choice.label | transloco }}\n </mat-radio-button>\n </mat-radio-group>\n</ng-template>\n", styles: [""] }]
471
+ }], ctorParameters: function () {
472
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
473
+ type: Inject,
474
+ args: [AJF_WARNING_ALERT_SERVICE]
475
+ }] }, { type: undefined, decorators: [{
476
+ type: Optional
477
+ }, {
478
+ type: Inject,
479
+ args: [AJF_SEARCH_ALERT_THRESHOLD]
480
+ }] }];
481
+ } });
482
+
483
+ /**
484
+ * @license
485
+ * Copyright (C) Gnucoop soc. coop.
486
+ *
487
+ * This file is part of the Advanced JSON forms (ajf).
488
+ *
489
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
490
+ * modify it under the terms of the GNU Affero General Public License as
491
+ * published by the Free Software Foundation, either version 3 of the License,
492
+ * or (at your option) any later version.
493
+ *
494
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
495
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
496
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
497
+ * General Public License for more details.
498
+ *
499
+ * You should have received a copy of the GNU Affero General Public License
500
+ * along with Advanced JSON forms (ajf).
501
+ * If not, see http://www.gnu.org/licenses/.
502
+ *
503
+ */
504
+ class AjfTableFieldComponent extends AjfTableFieldComponent$1 {
505
+ constructor(cdr, service, was) {
506
+ super(cdr, service, was);
507
+ }
508
+ }
509
+ AjfTableFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfTableFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
510
+ AjfTableFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfTableFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<table *ngIf=\"instance\" class=\"ajf-table-field\">\n <ng-container *ngIf=\"instance.node as node\">\n <ng-container *ngFor=\"let columns of instance.controls; let row = index\">\n <tr [ngClass]=\"row | ajfTableRowClass\">\n <td>\n <ng-container *ngIf=\"columns.length > 0 && columns[0]\">\n {{ columns[0] | ajfTranslateIfString | ajfFormatIfNumber: '.0-2' }}\n </ng-container>\n </td>\n <ng-container *ngIf=\"columns.length > 1\">\n <td *ngFor=\"let c of columns[1]; let column = index\">\n <ng-container *ngIf=\"row === 0; else controlCell\">\n {{ c | ajfTranslateIfString | ajfFormatIfNumber: '.0-2' }}\n </ng-container>\n <ng-template #controlCell>\n <ng-container *ngIf=\"c|ajfGetTableCellControl as contr\">\n <ng-container *ngIf=\"contr\">\n <ng-container\n *ngIf=\"contr!.show && (node.rows[row-1][column]|ajfIsCellEditable); else plainTextCell\"\n >\n <ng-container\n *ngIf=\"contr.type === 'number';else genericInput\"\n >\n <input\n (focusout)=\"contr!.show = false\"\n type=\"number\"\n [formControl]=\"contr.control\"\n (keydown.tab)=\"goToNextCell($event, row, column)\"\n autofocus\n />\n </ng-container>\n <ng-template #genericInput>\n <input\n (focusout)=\"contr!.show = false\"\n [type]=\"contr.type\"\n [formControl]=\"contr.control\"\n (keydown.tab)=\"goToNextCell($event, row, column)\"\n autofocus\n />\n </ng-template>\n </ng-container>\n\n <ng-template #plainTextCell>\n <span class=\"ajf-table-cell\" (click)=\"goToCell(row, column)\"\n >{{ contr.control!.value | ajfTranslateIfString |\n ajfFormatIfNumber: '.0-2' }}</span\n >\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n</table>\n", styles: ["table.ajf-table-field{border-collapse:collapse;border-spacing:0;width:100%}table.ajf-table-field tr td{position:relative;min-width:1em}table.ajf-table-field tr td span,table.ajf-table-field 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 #cccccc;border-right:solid 1px transparent;border-bottom:solid 1px transparent;border-left:solid 1px #cccccc;font-family:inherit;font-size:inherit;line-height:inherit;text-align:center}table.ajf-table-field tr td:last-child span,table.ajf-table-field tr td:last-child input{border-right-color:#ccc}table.ajf-table-field tr:last-of-type td span,table.ajf-table-field tr:last-of-type td input{border-bottom-color:#ccc}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "ajfTableRowClass": i1$1.AjfTableRowClass, "ajfFormatIfNumber": i4$4.FormatIfNumber, "ajfTranslateIfString": i4$4.TranslateIfString, "ajfGetTableCellControl": i1$1.AjfGetTableCellControlPipe, "ajfIsCellEditable": i1$1.AjfIsCellEditablePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfTableFieldComponent, decorators: [{
512
+ type: Component,
513
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<table *ngIf=\"instance\" class=\"ajf-table-field\">\n <ng-container *ngIf=\"instance.node as node\">\n <ng-container *ngFor=\"let columns of instance.controls; let row = index\">\n <tr [ngClass]=\"row | ajfTableRowClass\">\n <td>\n <ng-container *ngIf=\"columns.length > 0 && columns[0]\">\n {{ columns[0] | ajfTranslateIfString | ajfFormatIfNumber: '.0-2' }}\n </ng-container>\n </td>\n <ng-container *ngIf=\"columns.length > 1\">\n <td *ngFor=\"let c of columns[1]; let column = index\">\n <ng-container *ngIf=\"row === 0; else controlCell\">\n {{ c | ajfTranslateIfString | ajfFormatIfNumber: '.0-2' }}\n </ng-container>\n <ng-template #controlCell>\n <ng-container *ngIf=\"c|ajfGetTableCellControl as contr\">\n <ng-container *ngIf=\"contr\">\n <ng-container\n *ngIf=\"contr!.show && (node.rows[row-1][column]|ajfIsCellEditable); else plainTextCell\"\n >\n <ng-container\n *ngIf=\"contr.type === 'number';else genericInput\"\n >\n <input\n (focusout)=\"contr!.show = false\"\n type=\"number\"\n [formControl]=\"contr.control\"\n (keydown.tab)=\"goToNextCell($event, row, column)\"\n autofocus\n />\n </ng-container>\n <ng-template #genericInput>\n <input\n (focusout)=\"contr!.show = false\"\n [type]=\"contr.type\"\n [formControl]=\"contr.control\"\n (keydown.tab)=\"goToNextCell($event, row, column)\"\n autofocus\n />\n </ng-template>\n </ng-container>\n\n <ng-template #plainTextCell>\n <span class=\"ajf-table-cell\" (click)=\"goToCell(row, column)\"\n >{{ contr.control!.value | ajfTranslateIfString |\n ajfFormatIfNumber: '.0-2' }}</span\n >\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n</table>\n", styles: ["table.ajf-table-field{border-collapse:collapse;border-spacing:0;width:100%}table.ajf-table-field tr td{position:relative;min-width:1em}table.ajf-table-field tr td span,table.ajf-table-field 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 #cccccc;border-right:solid 1px transparent;border-bottom:solid 1px transparent;border-left:solid 1px #cccccc;font-family:inherit;font-size:inherit;line-height:inherit;text-align:center}table.ajf-table-field tr td:last-child span,table.ajf-table-field tr td:last-child input{border-right-color:#ccc}table.ajf-table-field tr:last-of-type td span,table.ajf-table-field tr:last-of-type td input{border-bottom-color:#ccc}\n"] }]
514
+ }], ctorParameters: function () {
515
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
516
+ type: Inject,
517
+ args: [AJF_WARNING_ALERT_SERVICE]
518
+ }] }];
519
+ } });
520
+
521
+ /**
522
+ * @license
523
+ * Copyright (C) Gnucoop soc. coop.
524
+ *
525
+ * This file is part of the Advanced JSON forms (ajf).
526
+ *
527
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
528
+ * modify it under the terms of the GNU Affero General Public License as
529
+ * published by the Free Software Foundation, either version 3 of the License,
530
+ * or (at your option) any later version.
531
+ *
532
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
533
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
534
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
535
+ * General Public License for more details.
536
+ *
537
+ * You should have received a copy of the GNU Affero General Public License
538
+ * along with Advanced JSON forms (ajf).
539
+ * If not, see http://www.gnu.org/licenses/.
540
+ *
541
+ */
542
+ class AjfTextFieldComponent extends AjfInputFieldComponent$1 {
543
+ constructor(cdr, service, was) {
544
+ super(cdr, service, was);
545
+ }
546
+ }
547
+ AjfTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfTextFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
548
+ AjfTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfTextFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<mat-form-field *ngIf=\"control|async as ctrl\">\n <textarea matInput cdkTextareaAutosize [formControl]=\"ctrl!\"></textarea>\n</mat-form-field>\n", styles: [""], components: [{ type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i5.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfTextFieldComponent, decorators: [{
550
+ type: Component,
551
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<mat-form-field *ngIf=\"control|async as ctrl\">\n <textarea matInput cdkTextareaAutosize [formControl]=\"ctrl!\"></textarea>\n</mat-form-field>\n", styles: [""] }]
552
+ }], ctorParameters: function () {
553
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
554
+ type: Inject,
555
+ args: [AJF_WARNING_ALERT_SERVICE]
556
+ }] }];
557
+ } });
558
+
559
+ /**
560
+ * @license
561
+ * Copyright (C) Gnucoop soc. coop.
562
+ *
563
+ * This file is part of the Advanced JSON forms (ajf).
564
+ *
565
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
566
+ * modify it under the terms of the GNU Affero General Public License as
567
+ * published by the Free Software Foundation, either version 3 of the License,
568
+ * or (at your option) any later version.
569
+ *
570
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
571
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
572
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
573
+ * General Public License for more details.
574
+ *
575
+ * You should have received a copy of the GNU Affero General Public License
576
+ * along with Advanced JSON forms (ajf).
577
+ * If not, see http://www.gnu.org/licenses/.
578
+ *
579
+ */
580
+ class AjfTimeFieldComponent extends AjfBaseFieldComponent {
581
+ constructor(cdr, service, was) {
582
+ super(cdr, service, was);
583
+ }
584
+ }
585
+ AjfTimeFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfTimeFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }], target: i0.ɵɵFactoryTarget.Component });
586
+ AjfTimeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfTimeFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ajf-time *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-time>\n", styles: [""], components: [{ type: i2$7.AjfTime, selector: "ajf-time" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
587
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfTimeFieldComponent, decorators: [{
588
+ type: Component,
589
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ajf-time *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-time>\n", styles: [""] }]
590
+ }], ctorParameters: function () {
591
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
592
+ type: Inject,
593
+ args: [AJF_WARNING_ALERT_SERVICE]
594
+ }] }];
595
+ } });
596
+
597
+ /**
598
+ * @license
599
+ * Copyright (C) Gnucoop soc. coop.
600
+ *
601
+ * This file is part of the Advanced JSON forms (ajf).
602
+ *
603
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
604
+ * modify it under the terms of the GNU Affero General Public License as
605
+ * published by the Free Software Foundation, either version 3 of the License,
606
+ * or (at your option) any later version.
607
+ *
608
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
609
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
610
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
611
+ * General Public License for more details.
612
+ *
613
+ * You should have received a copy of the GNU Affero General Public License
614
+ * along with Advanced JSON forms (ajf).
615
+ * If not, see http://www.gnu.org/licenses/.
616
+ *
617
+ */
618
+ class AjfVideoUrlFieldComponent extends AjfVideoUrlFieldComponent$1 {
619
+ constructor(cdr, service, was, domSanitizer, httpClient) {
620
+ super(cdr, service, was, domSanitizer, httpClient);
621
+ }
622
+ }
623
+ AjfVideoUrlFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfVideoUrlFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.AjfFormRendererService }, { token: AJF_WARNING_ALERT_SERVICE }, { token: i2$8.DomSanitizer }, { token: i3$3.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
624
+ AjfVideoUrlFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfVideoUrlFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"control|async as ctrl\">\n <mat-form-field class=\"ajf-video-input\">\n <input matInput type=\"url\" [formControl]=\"ctrl!\">\n </mat-form-field>\n <div class=\"ajf-video-thumbnail\">\n <ng-container *ngIf=\"validUrl|async\">\n <a target=\"_blank\" [href]=\"ctrl.value\">\n <img *ngIf=\"videoThumbnail|async as thumb\" [src]=\"thumb\" class=\"\" alt=\"\">\n </a>\n </ng-container>\n </div>\n</ng-container>\n", styles: [".ajf-video-input{width:100%}.ajf-video-thumbnail{width:212px;height:120px;background-color:#eee;display:flex;align-items:center;justify-content:center}.ajf-video-thumbnail img{flex:1 1 auto}\n"], components: [{ type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfVideoUrlFieldComponent, decorators: [{
626
+ type: Component,
627
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"control|async as ctrl\">\n <mat-form-field class=\"ajf-video-input\">\n <input matInput type=\"url\" [formControl]=\"ctrl!\">\n </mat-form-field>\n <div class=\"ajf-video-thumbnail\">\n <ng-container *ngIf=\"validUrl|async\">\n <a target=\"_blank\" [href]=\"ctrl.value\">\n <img *ngIf=\"videoThumbnail|async as thumb\" [src]=\"thumb\" class=\"\" alt=\"\">\n </a>\n </ng-container>\n </div>\n</ng-container>\n", styles: [".ajf-video-input{width:100%}.ajf-video-thumbnail{width:212px;height:120px;background-color:#eee;display:flex;align-items:center;justify-content:center}.ajf-video-thumbnail img{flex:1 1 auto}\n"] }]
628
+ }], ctorParameters: function () {
629
+ return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
630
+ type: Inject,
631
+ args: [AJF_WARNING_ALERT_SERVICE]
632
+ }] }, { type: i2$8.DomSanitizer }, { type: i3$3.HttpClient }];
633
+ } });
634
+
635
+ /**
636
+ * @license
637
+ * Copyright (C) Gnucoop soc. coop.
638
+ *
639
+ * This file is part of the Advanced JSON forms (ajf).
640
+ *
641
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
642
+ * modify it under the terms of the GNU Affero General Public License as
643
+ * published by the Free Software Foundation, either version 3 of the License,
644
+ * or (at your option) any later version.
645
+ *
646
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
647
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
648
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
649
+ * General Public License for more details.
650
+ *
651
+ * You should have received a copy of the GNU Affero General Public License
652
+ * along with Advanced JSON forms (ajf).
653
+ * If not, see http://www.gnu.org/licenses/.
654
+ *
655
+ */
656
+ class AjfFieldService extends AjfFieldService$1 {
657
+ constructor() {
658
+ super();
659
+ (this.componentsMap[AjfFieldType.String] = {
660
+ component: AjfInputFieldComponent,
661
+ readOnlyComponent: AjfReadOnlyFieldComponent,
662
+ }),
663
+ (this.componentsMap[AjfFieldType.Text] = {
664
+ component: AjfTextFieldComponent,
665
+ readOnlyComponent: AjfReadOnlyFieldComponent,
666
+ }),
667
+ (this.componentsMap[AjfFieldType.Number] = {
668
+ component: AjfInputFieldComponent,
669
+ readOnlyComponent: AjfReadOnlyFieldComponent,
670
+ inputs: { type: 'number' },
671
+ }),
672
+ (this.componentsMap[AjfFieldType.Boolean] = {
673
+ component: AjfBooleanFieldComponent,
674
+ readOnlyComponent: AjfReadOnlyFieldComponent,
675
+ }),
676
+ (this.componentsMap[AjfFieldType.Formula] = {
677
+ component: AjfInputFieldComponent,
678
+ readOnlyComponent: AjfReadOnlyFieldComponent,
679
+ inputs: { readonly: true },
680
+ }),
681
+ (this.componentsMap[AjfFieldType.Date] = {
682
+ component: AjfDateFieldComponent,
683
+ readOnlyComponent: AjfReadOnlyFieldComponent,
684
+ }),
685
+ (this.componentsMap[AjfFieldType.DateInput] = {
686
+ component: AjfDateInputFieldComponent,
687
+ readOnlyComponent: AjfReadOnlyFieldComponent,
688
+ }),
689
+ (this.componentsMap[AjfFieldType.Table] = {
690
+ component: AjfTableFieldComponent,
691
+ readOnlyComponent: AjfReadOnlyTableFieldComponent,
692
+ }),
693
+ (this.componentsMap[AjfFieldType.Empty] = { component: AjfEmptyFieldComponent }),
694
+ (this.componentsMap[AjfFieldType.SingleChoice] = {
695
+ component: AjfSingleChoiceFieldComponent,
696
+ readOnlyComponent: AjfReadOnlySelectFieldComponent,
697
+ }),
698
+ (this.componentsMap[AjfFieldType.MultipleChoice] = {
699
+ component: AjfMultipleChoiceFieldComponent,
700
+ readOnlyComponent: AjfReadOnlySelectFieldComponent,
701
+ }),
702
+ (this.componentsMap[AjfFieldType.Time] = {
703
+ component: AjfTimeFieldComponent,
704
+ readOnlyComponent: AjfReadOnlyFieldComponent,
705
+ }),
706
+ (this.componentsMap[AjfFieldType.Barcode] = {
707
+ component: AjfBarcodeFieldComponent,
708
+ readOnlyComponent: AjfReadOnlyFieldComponent,
709
+ });
710
+ this.componentsMap[AjfFieldType.File] = {
711
+ component: AjfFileFieldComponent,
712
+ readOnlyComponent: AjfReadOnlyFileFieldComponent,
713
+ };
714
+ this.componentsMap[AjfFieldType.Image] = {
715
+ component: AjfImageFieldComponent,
716
+ readOnlyComponent: AjfReadOnlyImageFieldComponent,
717
+ };
718
+ this.componentsMap[AjfFieldType.VideoUrl] = {
719
+ component: AjfVideoUrlFieldComponent,
720
+ readOnlyComponent: AjfReadOnlyVideoUrlFieldComponent,
721
+ };
722
+ this.componentsMap[AjfFieldType.Range] = {
723
+ component: AjfRangeFieldComponent,
724
+ readOnlyComponent: AjfReadOnlyFieldComponent,
725
+ };
726
+ }
727
+ }
728
+ AjfFieldService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFieldService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
729
+ AjfFieldService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFieldService, providedIn: 'root' });
730
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFieldService, decorators: [{
731
+ type: Injectable,
732
+ args: [{ providedIn: 'root' }]
733
+ }], ctorParameters: function () { return []; } });
734
+
735
+ /**
736
+ * @license
737
+ * Copyright (C) Gnucoop soc. coop.
738
+ *
739
+ * This file is part of the Advanced JSON forms (ajf).
740
+ *
741
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
742
+ * modify it under the terms of the GNU Affero General Public License as
743
+ * published by the Free Software Foundation, either version 3 of the License,
744
+ * or (at your option) any later version.
745
+ *
746
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
747
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
748
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
749
+ * General Public License for more details.
750
+ *
751
+ * You should have received a copy of the GNU Affero General Public License
752
+ * along with Advanced JSON forms (ajf).
753
+ * If not, see http://www.gnu.org/licenses/.
754
+ *
755
+ */
756
+ class AjfFormField extends AjfFormField$1 {
757
+ constructor(cdr, cfr, fieldService) {
758
+ super(cdr, cfr);
759
+ this.componentsMap = fieldService.componentsMap;
760
+ }
761
+ }
762
+ AjfFormField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormField, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }, { token: AjfFieldService }], target: i0.ɵɵFactoryTarget.Component });
763
+ AjfFormField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: AjfFormField, selector: "ajf-field,ajf-form-field", usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"instance\"\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 #cccccc;border-right:solid 1px transparent;border-bottom:solid 1px transparent;border-left:solid 1px #cccccc;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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$1.AjfFieldHost, selector: "[ajf-field-host]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "ajfNodeCompleteName": i1$1.AjfNodeCompleteNamePipe, "ajfFieldIsValid": i1$1.AjfFieldIsValidPipe, "transloco": i3$1.TranslocoPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
764
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormField, decorators: [{
765
+ type: Component,
766
+ args: [{ selector: 'ajf-field,ajf-form-field', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n *ngIf=\"instance\"\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 #cccccc;border-right:solid 1px transparent;border-bottom:solid 1px transparent;border-left:solid 1px #cccccc;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"] }]
767
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ComponentFactoryResolver }, { type: AjfFieldService }]; } });
768
+
769
+ /**
770
+ * @license
771
+ * Copyright (C) Gnucoop soc. coop.
772
+ *
773
+ * This file is part of the Advanced JSON forms (ajf).
774
+ *
775
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
776
+ * modify it under the terms of the GNU Affero General Public License as
777
+ * published by the Free Software Foundation, either version 3 of the License,
778
+ * or (at your option) any later version.
779
+ *
780
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
781
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
782
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
783
+ * General Public License for more details.
784
+ *
785
+ * You should have received a copy of the GNU Affero General Public License
786
+ * along with Advanced JSON forms (ajf).
787
+ * If not, see http://www.gnu.org/licenses/.
788
+ *
789
+ */
790
+ class AjfFormRenderer extends AjfFormRenderer$1 {
791
+ constructor(rendererService, changeDetectorRef) {
792
+ super(rendererService, changeDetectorRef);
793
+ this.topBar = false;
794
+ }
795
+ }
796
+ AjfFormRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormRenderer, deps: [{ token: i1$1.AjfFormRendererService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
797
+ AjfFormRenderer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", 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 <mat-button-toggle-group>\n <ng-container *ngFor=\"let slideInstance of (slides|async); trackBy: trackNodeById\">\n <mat-button-toggle\n *ngIf=\"slideInstance.node.label && slideInstance.node.label.length > 0\"\n class=\"ajf-topbar-button\"\n (click)=\"scrollToSlide(slideInstance)\"\n >\n {{slideInstance.node.label | transloco}}\n <mat-icon *ngIf=\"!slideInstance.valid\" class=\"ajf-warning\">warning</mat-icon>\n <mat-icon *ngIf=\"slideInstance.valid\" class=\"ajf-success\">check</mat-icon>\n </mat-button-toggle>\n </ng-container>\n </mat-button-toggle-group>\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 && saveButton.childNodes && 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-hidden{opacity:0}ajf-form .ajf-form-container .ajf-btn-strip .mat-button-toggle-group{overflow-x:auto}ajf-form .ajf-form-container .ajf-topbar-button{font-size:.8em}ajf-form .ajf-form-container mat-icon.ajf-warning{color:#f53d3d}ajf-form .ajf-form-container mat-icon.ajf-success{color:#32db64}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 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:700}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$9.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i3$4.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { type: i4$5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { 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"] }, { type: i6.AjfPageSlider, selector: "ajf-page-slider" }, { type: i7$1.AjfPageSliderItem, selector: "ajf-page-slider-item", outputs: ["scroll"] }, { type: i8.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i8.MatCardHeader, selector: "mat-card-header" }, { type: AjfFormField, selector: "ajf-field,ajf-form-field" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3$4.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "async": i3.AsyncPipe, "transloco": i3$1.TranslocoPipe, "ajfIsRepeatingSlideInstance": i1$1.AjfIsRepeatingSlideInstancePipe, "ajfBoolToInt": i1$1.AjfBoolToIntPipe, "ajfAsFieldInstance": i1$1.AjfAsFieldInstancePipe, "ajfFieldIcon": i1$1.AjfFieldIconPipe, "ajfRange": i1$1.AjfRangePipe, "ajfAsRepeatingSlideInstance": i1$1.AjfAsRepeatingSlideInstancePipe, "ajfIncrement": i1$1.AjfIncrementPipe, "ajfValidSlide": i1$1.AjfValidSlidePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
798
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormRenderer, decorators: [{
799
+ type: Component,
800
+ 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 <mat-button-toggle-group>\n <ng-container *ngFor=\"let slideInstance of (slides|async); trackBy: trackNodeById\">\n <mat-button-toggle\n *ngIf=\"slideInstance.node.label && slideInstance.node.label.length > 0\"\n class=\"ajf-topbar-button\"\n (click)=\"scrollToSlide(slideInstance)\"\n >\n {{slideInstance.node.label | transloco}}\n <mat-icon *ngIf=\"!slideInstance.valid\" class=\"ajf-warning\">warning</mat-icon>\n <mat-icon *ngIf=\"slideInstance.valid\" class=\"ajf-success\">check</mat-icon>\n </mat-button-toggle>\n </ng-container>\n </mat-button-toggle-group>\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 && saveButton.childNodes && 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-hidden{opacity:0}ajf-form .ajf-form-container .ajf-btn-strip .mat-button-toggle-group{overflow-x:auto}ajf-form .ajf-form-container .ajf-topbar-button{font-size:.8em}ajf-form .ajf-form-container mat-icon.ajf-warning{color:#f53d3d}ajf-form .ajf-form-container mat-icon.ajf-success{color:#32db64}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 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:700}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"] }]
801
+ }], ctorParameters: function () { return [{ type: i1$1.AjfFormRendererService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { topBar: [{
802
+ type: Input
803
+ }] } });
804
+
805
+ /**
806
+ * @license
807
+ * Copyright (C) Gnucoop soc. coop.
808
+ *
809
+ * This file is part of the Advanced JSON forms (ajf).
810
+ *
811
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
812
+ * modify it under the terms of the GNU Affero General Public License as
813
+ * published by the Free Software Foundation, either version 3 of the License,
814
+ * or (at your option) any later version.
815
+ *
816
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
817
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
818
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
819
+ * General Public License for more details.
820
+ *
821
+ * You should have received a copy of the GNU Affero General Public License
822
+ * along with Advanced JSON forms (ajf).
823
+ * If not, see http://www.gnu.org/licenses/.
824
+ *
825
+ */
826
+ class AjfFormsModule {
827
+ static forRoot() {
828
+ return {
829
+ ngModule: AjfFormsModule,
830
+ providers: [AjfFieldService],
831
+ };
832
+ }
833
+ }
834
+ AjfFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
835
+ AjfFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormsModule, declarations: [AjfBarcodeFieldComponent,
836
+ AjfBooleanFieldComponent,
837
+ AjfDateFieldComponent,
838
+ AjfDateInputFieldComponent,
839
+ AjfEmptyFieldComponent,
840
+ AjfFieldWarningDialog,
841
+ AjfFormField,
842
+ AjfFormRenderer,
843
+ AjfInputFieldComponent,
844
+ AjfMultipleChoiceFieldComponent,
845
+ AjfRangeFieldComponent,
846
+ AjfSingleChoiceFieldComponent,
847
+ AjfTableFieldComponent,
848
+ AjfTextFieldComponent,
849
+ AjfTimeFieldComponent,
850
+ AjfVideoUrlFieldComponent], imports: [AjfBarcodeModule,
851
+ AjfCalendarModule,
852
+ AjfCommonModule,
853
+ AjfFormsModule$1,
854
+ AjfCheckboxGroupModule,
855
+ AjfPageSliderModule,
856
+ AjfTimeModule,
857
+ AjfTranslocoModule,
858
+ CommonModule,
859
+ MatButtonModule,
860
+ MatButtonToggleModule,
861
+ MatCardModule,
862
+ MatDialogModule,
863
+ MatFormFieldModule,
864
+ MatIconModule,
865
+ MatInputModule,
866
+ MatRadioModule,
867
+ MatSelectModule,
868
+ MatSlideToggleModule,
869
+ MatToolbarModule,
870
+ MatTooltipModule,
871
+ ReactiveFormsModule,
872
+ TextFieldModule,
873
+ MatSliderModule], exports: [AjfFormField, AjfFormRenderer] });
874
+ AjfFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormsModule, providers: [
875
+ AjfFieldService,
876
+ { provide: AJF_WARNING_ALERT_SERVICE, useClass: AjfWarningAlertService },
877
+ ], imports: [[
878
+ AjfBarcodeModule,
879
+ AjfCalendarModule,
880
+ AjfCommonModule,
881
+ AjfFormsModule$1,
882
+ AjfCheckboxGroupModule,
883
+ AjfPageSliderModule,
884
+ AjfTimeModule,
885
+ AjfTranslocoModule,
886
+ CommonModule,
887
+ MatButtonModule,
888
+ MatButtonToggleModule,
889
+ MatCardModule,
890
+ MatDialogModule,
891
+ MatFormFieldModule,
892
+ MatIconModule,
893
+ MatInputModule,
894
+ MatRadioModule,
895
+ MatSelectModule,
896
+ MatSlideToggleModule,
897
+ MatToolbarModule,
898
+ MatTooltipModule,
899
+ ReactiveFormsModule,
900
+ TextFieldModule,
901
+ MatSliderModule,
902
+ ]] });
903
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormsModule, decorators: [{
904
+ type: NgModule,
905
+ args: [{
906
+ imports: [
907
+ AjfBarcodeModule,
908
+ AjfCalendarModule,
909
+ AjfCommonModule,
910
+ AjfFormsModule$1,
911
+ AjfCheckboxGroupModule,
912
+ AjfPageSliderModule,
913
+ AjfTimeModule,
914
+ AjfTranslocoModule,
915
+ CommonModule,
916
+ MatButtonModule,
917
+ MatButtonToggleModule,
918
+ MatCardModule,
919
+ MatDialogModule,
920
+ MatFormFieldModule,
921
+ MatIconModule,
922
+ MatInputModule,
923
+ MatRadioModule,
924
+ MatSelectModule,
925
+ MatSlideToggleModule,
926
+ MatToolbarModule,
927
+ MatTooltipModule,
928
+ ReactiveFormsModule,
929
+ TextFieldModule,
930
+ MatSliderModule,
931
+ ],
932
+ declarations: [
933
+ AjfBarcodeFieldComponent,
934
+ AjfBooleanFieldComponent,
935
+ AjfDateFieldComponent,
936
+ AjfDateInputFieldComponent,
937
+ AjfEmptyFieldComponent,
938
+ AjfFieldWarningDialog,
939
+ AjfFormField,
940
+ AjfFormRenderer,
941
+ AjfInputFieldComponent,
942
+ AjfMultipleChoiceFieldComponent,
943
+ AjfRangeFieldComponent,
944
+ AjfSingleChoiceFieldComponent,
945
+ AjfTableFieldComponent,
946
+ AjfTextFieldComponent,
947
+ AjfTimeFieldComponent,
948
+ AjfVideoUrlFieldComponent,
949
+ ],
950
+ entryComponents: [
951
+ AjfBarcodeFieldComponent,
952
+ AjfBooleanFieldComponent,
953
+ AjfDateFieldComponent,
954
+ AjfDateInputFieldComponent,
955
+ AjfEmptyFieldComponent,
956
+ AjfInputFieldComponent,
957
+ AjfMultipleChoiceFieldComponent,
958
+ AjfRangeFieldComponent,
959
+ AjfSingleChoiceFieldComponent,
960
+ AjfTableFieldComponent,
961
+ AjfTextFieldComponent,
962
+ AjfTimeFieldComponent,
963
+ AjfVideoUrlFieldComponent,
964
+ ],
965
+ exports: [AjfFormField, AjfFormRenderer],
966
+ providers: [
967
+ AjfFieldService,
968
+ { provide: AJF_WARNING_ALERT_SERVICE, useClass: AjfWarningAlertService },
969
+ ],
970
+ }]
971
+ }] });
972
+
973
+ /**
974
+ * @license
975
+ * Copyright (C) Gnucoop soc. coop.
976
+ *
977
+ * This file is part of the Advanced JSON forms (ajf).
978
+ *
979
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
980
+ * modify it under the terms of the GNU Affero General Public License as
981
+ * published by the Free Software Foundation, either version 3 of the License,
982
+ * or (at your option) any later version.
983
+ *
984
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
985
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
986
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
987
+ * General Public License for more details.
988
+ *
989
+ * You should have received a copy of the GNU Affero General Public License
990
+ * along with Advanced JSON forms (ajf).
991
+ * If not, see http://www.gnu.org/licenses/.
992
+ *
993
+ */
994
+
995
+ /**
996
+ * Generated bundle index. Do not edit.
997
+ */
998
+
999
+ export { AjfBooleanFieldComponent, AjfDateFieldComponent, AjfDateInputFieldComponent, AjfEmptyFieldComponent, AjfFieldService, AjfFieldWarningDialog, AjfFormField, AjfFormRenderer, AjfFormsModule, AjfInputFieldComponent, AjfMultipleChoiceFieldComponent, AjfSingleChoiceFieldComponent, AjfTableFieldComponent, AjfTimeFieldComponent, AjfWarningAlertService };
1000
+ //# sourceMappingURL=ajf-material-forms.mjs.map