@ajf/material 13.0.0-rc.1 → 13.1.0

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 (340) 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 +19 -6
  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 +35 -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 +38 -0
  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 +12 -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 +19 -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} +126 -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/fesm2015/{image.mjs → 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/fesm2015/ajf-material-reports.mjs +569 -0
  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} +126 -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/fesm2020/{image.mjs → 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/fesm2020/ajf-material-reports.mjs +569 -0
  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 +4 -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 +14 -0
  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} +1 -0
  240. package/reports/report.d.ts +0 -0
  241. package/reports/reports-module.d.ts +21 -19
  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 -33
  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 +0 -551
  297. package/fesm2015/reports.mjs.map +0 -1
  298. package/fesm2015/time.mjs.map +0 -1
  299. package/fesm2020/barcode.mjs.map +0 -1
  300. package/fesm2020/calendar.mjs +0 -138
  301. package/fesm2020/calendar.mjs.map +0 -1
  302. package/fesm2020/checkbox-group.mjs.map +0 -1
  303. package/fesm2020/form-builder.mjs.map +0 -1
  304. package/fesm2020/forms.mjs +0 -985
  305. package/fesm2020/forms.mjs.map +0 -1
  306. package/fesm2020/image.mjs.map +0 -1
  307. package/fesm2020/material.mjs +0 -30
  308. package/fesm2020/material.mjs.map +0 -1
  309. package/fesm2020/monaco-editor.mjs.map +0 -1
  310. package/fesm2020/node-icon.mjs.map +0 -1
  311. package/fesm2020/page-slider.mjs.map +0 -1
  312. package/fesm2020/reports.mjs +0 -551
  313. package/fesm2020/reports.mjs.map +0 -1
  314. package/fesm2020/time.mjs.map +0 -1
  315. package/form-builder/_form-builder.scss +0 -0
  316. package/form-builder/form-builder_public_index.d.ts +0 -4
  317. package/form-builder/index.d.ts +0 -22
  318. package/forms/_forms.scss +0 -0
  319. package/forms/forms_public_index.d.ts +0 -4
  320. package/forms/index.d.ts +0 -22
  321. package/image/_image.scss +0 -0
  322. package/image/image_public_index.d.ts +0 -4
  323. package/image/index.d.ts +0 -22
  324. package/index.d.ts +0 -22
  325. package/monaco-editor/_monaco-editor.scss +0 -0
  326. package/monaco-editor/index.d.ts +0 -22
  327. package/monaco-editor/monaco-editor_public_index.d.ts +0 -4
  328. package/node-icon/_node-icon.scss +0 -0
  329. package/node-icon/index.d.ts +0 -22
  330. package/node-icon/node-icon_public_index.d.ts +0 -4
  331. package/page-slider/_page-slider.scss +0 -0
  332. package/page-slider/index.d.ts +0 -22
  333. package/page-slider/page-slider_public_index.d.ts +0 -4
  334. package/reports/_reports.scss +0 -0
  335. package/reports/index.d.ts +0 -22
  336. package/reports/layout-widget.d.ts +0 -21
  337. package/reports/reports_public_index.d.ts +0 -4
  338. package/time/_time.scss +0 -0
  339. package/time/index.d.ts +0 -22
  340. package/time/time_public_index.d.ts +0 -4
@@ -0,0 +1,974 @@
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 () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
140
+ type: Inject,
141
+ args: [AJF_WARNING_ALERT_SERVICE]
142
+ }] }]; } });
143
+
144
+ /**
145
+ * @license
146
+ * Copyright (C) Gnucoop soc. coop.
147
+ *
148
+ * This file is part of the Advanced JSON forms (ajf).
149
+ *
150
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
151
+ * modify it under the terms of the GNU Affero General Public License as
152
+ * published by the Free Software Foundation, either version 3 of the License,
153
+ * or (at your option) any later version.
154
+ *
155
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
156
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
157
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
158
+ * General Public License for more details.
159
+ *
160
+ * You should have received a copy of the GNU Affero General Public License
161
+ * along with Advanced JSON forms (ajf).
162
+ * If not, see http://www.gnu.org/licenses/.
163
+ *
164
+ */
165
+ class AjfDateFieldComponent extends AjfBaseFieldComponent {
166
+ constructor(cdr, service, was) {
167
+ super(cdr, service, was);
168
+ }
169
+ }
170
+ 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 });
171
+ 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 });
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfDateFieldComponent, decorators: [{
173
+ type: Component,
174
+ 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: [""] }]
175
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
176
+ type: Inject,
177
+ args: [AJF_WARNING_ALERT_SERVICE]
178
+ }] }]; } });
179
+
180
+ /**
181
+ * @license
182
+ * Copyright (C) Gnucoop soc. coop.
183
+ *
184
+ * This file is part of the Advanced JSON forms (ajf).
185
+ *
186
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
187
+ * modify it under the terms of the GNU Affero General Public License as
188
+ * published by the Free Software Foundation, either version 3 of the License,
189
+ * or (at your option) any later version.
190
+ *
191
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
192
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
193
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
194
+ * General Public License for more details.
195
+ *
196
+ * You should have received a copy of the GNU Affero General Public License
197
+ * along with Advanced JSON forms (ajf).
198
+ * If not, see http://www.gnu.org/licenses/.
199
+ *
200
+ */
201
+ class AjfDateInputFieldComponent extends AjfBaseFieldComponent {
202
+ constructor(cdr, service, was, _dvs) {
203
+ super(cdr, service, was);
204
+ this._dvs = _dvs;
205
+ }
206
+ onChange() {
207
+ if (this.input == null) {
208
+ return;
209
+ }
210
+ const val = this.input.value || '';
211
+ if (val.length > 0) {
212
+ if ((this._minDateStr != null && val < this._minDateStr) ||
213
+ (this._maxDateStr != null && val > this._maxDateStr)) {
214
+ this.input.value = '';
215
+ }
216
+ }
217
+ }
218
+ _onInstanceChange() {
219
+ if (this.instance == null) {
220
+ return;
221
+ }
222
+ this._minDateStr = this._dvs.transform(this.instance.node.minDate);
223
+ this._maxDateStr = this._dvs.transform(this.instance.node.maxDate);
224
+ }
225
+ }
226
+ 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 });
227
+ 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 });
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfDateInputFieldComponent, decorators: [{
229
+ type: Component,
230
+ 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: [""] }]
231
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
232
+ type: Inject,
233
+ args: [AJF_WARNING_ALERT_SERVICE]
234
+ }] }, { type: i1$1.AjfDateValueStringPipe }]; }, propDecorators: { input: [{
235
+ type: ViewChild,
236
+ args: [MatInput, { static: false }]
237
+ }] } });
238
+
239
+ /**
240
+ * @license
241
+ * Copyright (C) Gnucoop soc. coop.
242
+ *
243
+ * This file is part of the Advanced JSON forms (ajf).
244
+ *
245
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
246
+ * modify it under the terms of the GNU Affero General Public License as
247
+ * published by the Free Software Foundation, either version 3 of the License,
248
+ * or (at your option) any later version.
249
+ *
250
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
251
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
252
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
253
+ * General Public License for more details.
254
+ *
255
+ * You should have received a copy of the GNU Affero General Public License
256
+ * along with Advanced JSON forms (ajf).
257
+ * If not, see http://www.gnu.org/licenses/.
258
+ *
259
+ */
260
+ class AjfEmptyFieldComponent extends AjfBaseFieldComponent {
261
+ constructor(cdr, service, was) {
262
+ super(cdr, service, was);
263
+ }
264
+ }
265
+ 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 });
266
+ 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 });
267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEmptyFieldComponent, decorators: [{
268
+ type: Component,
269
+ 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: [""] }]
270
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
271
+ type: Inject,
272
+ args: [AJF_WARNING_ALERT_SERVICE]
273
+ }] }]; } });
274
+
275
+ /**
276
+ * @license
277
+ * Copyright (C) Gnucoop soc. coop.
278
+ *
279
+ * This file is part of the Advanced JSON forms (ajf).
280
+ *
281
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
282
+ * modify it under the terms of the GNU Affero General Public License as
283
+ * published by the Free Software Foundation, either version 3 of the License,
284
+ * or (at your option) any later version.
285
+ *
286
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
287
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
288
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
289
+ * General Public License for more details.
290
+ *
291
+ * You should have received a copy of the GNU Affero General Public License
292
+ * along with Advanced JSON forms (ajf).
293
+ * If not, see http://www.gnu.org/licenses/.
294
+ *
295
+ */
296
+ class AjfBarcodeFieldComponent extends AjfBaseFieldComponent {
297
+ constructor(cdr, service, was) {
298
+ super(cdr, service, was);
299
+ }
300
+ }
301
+ 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 });
302
+ 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 });
303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfBarcodeFieldComponent, decorators: [{
304
+ type: Component,
305
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ajf-barcode *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-barcode>\n", styles: [""] }]
306
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
307
+ type: Inject,
308
+ args: [AJF_WARNING_ALERT_SERVICE]
309
+ }] }]; } });
310
+
311
+ /**
312
+ * @license
313
+ * Copyright (C) Gnucoop soc. coop.
314
+ *
315
+ * This file is part of the Advanced JSON forms (ajf).
316
+ *
317
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
318
+ * modify it under the terms of the GNU Affero General Public License as
319
+ * published by the Free Software Foundation, either version 3 of the License,
320
+ * or (at your option) any later version.
321
+ *
322
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
323
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
324
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
325
+ * General Public License for more details.
326
+ *
327
+ * You should have received a copy of the GNU Affero General Public License
328
+ * along with Advanced JSON forms (ajf).
329
+ * If not, see http://www.gnu.org/licenses/.
330
+ *
331
+ */
332
+ class AjfInputFieldComponent extends AjfInputFieldComponent$1 {
333
+ constructor(cdr, service, was) {
334
+ super(cdr, service, was);
335
+ }
336
+ }
337
+ 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 });
338
+ 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 });
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfInputFieldComponent, decorators: [{
340
+ type: Component,
341
+ 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: [""] }]
342
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
343
+ type: Inject,
344
+ args: [AJF_WARNING_ALERT_SERVICE]
345
+ }] }]; } });
346
+
347
+ /**
348
+ * @license
349
+ * Copyright (C) Gnucoop soc. coop.
350
+ *
351
+ * This file is part of the Advanced JSON forms (ajf).
352
+ *
353
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
354
+ * modify it under the terms of the GNU Affero General Public License as
355
+ * published by the Free Software Foundation, either version 3 of the License,
356
+ * or (at your option) any later version.
357
+ *
358
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
359
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
360
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
361
+ * General Public License for more details.
362
+ *
363
+ * You should have received a copy of the GNU Affero General Public License
364
+ * along with Advanced JSON forms (ajf).
365
+ * If not, see http://www.gnu.org/licenses/.
366
+ *
367
+ */
368
+ class AjfMultipleChoiceFieldComponent extends AjfFieldWithChoicesComponent {
369
+ constructor(cdr, service, was, searchThreshold) {
370
+ super(cdr, service, was, searchThreshold);
371
+ }
372
+ }
373
+ 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 });
374
+ 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 });
375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfMultipleChoiceFieldComponent, decorators: [{
376
+ type: Component,
377
+ 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: [""] }]
378
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
379
+ type: Inject,
380
+ args: [AJF_WARNING_ALERT_SERVICE]
381
+ }] }, { type: undefined, decorators: [{
382
+ type: Optional
383
+ }, {
384
+ type: Inject,
385
+ args: [AJF_SEARCH_ALERT_THRESHOLD]
386
+ }] }]; } });
387
+
388
+ /**
389
+ * @license
390
+ * Copyright (C) Gnucoop soc. coop.
391
+ *
392
+ * This file is part of the Advanced JSON forms (ajf).
393
+ *
394
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
395
+ * modify it under the terms of the GNU Affero General Public License as
396
+ * published by the Free Software Foundation, either version 3 of the License,
397
+ * or (at your option) any later version.
398
+ *
399
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
400
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
401
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
402
+ * General Public License for more details.
403
+ *
404
+ * You should have received a copy of the GNU Affero General Public License
405
+ * along with Advanced JSON forms (ajf).
406
+ * If not, see http://www.gnu.org/licenses/.
407
+ *
408
+ */
409
+ class AjfRangeFieldComponent extends AjfRange {
410
+ constructor(cdr, service, was) {
411
+ super(cdr, service, was);
412
+ }
413
+ }
414
+ 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 });
415
+ 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 });
416
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfRangeFieldComponent, decorators: [{
417
+ type: Component,
418
+ 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: [""] }]
419
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
420
+ type: Inject,
421
+ args: [AJF_WARNING_ALERT_SERVICE]
422
+ }] }]; } });
423
+
424
+ /**
425
+ * @license
426
+ * Copyright (C) Gnucoop soc. coop.
427
+ *
428
+ * This file is part of the Advanced JSON forms (ajf).
429
+ *
430
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
431
+ * modify it under the terms of the GNU Affero General Public License as
432
+ * published by the Free Software Foundation, either version 3 of the License,
433
+ * or (at your option) any later version.
434
+ *
435
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
436
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
437
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
438
+ * General Public License for more details.
439
+ *
440
+ * You should have received a copy of the GNU Affero General Public License
441
+ * along with Advanced JSON forms (ajf).
442
+ * If not, see http://www.gnu.org/licenses/.
443
+ *
444
+ */
445
+ class AjfSingleChoiceFieldComponent extends AjfFieldWithChoicesComponent {
446
+ constructor(cdr, service, was, searchThreshold) {
447
+ super(cdr, service, was, searchThreshold);
448
+ }
449
+ }
450
+ 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 });
451
+ 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 });
452
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfSingleChoiceFieldComponent, decorators: [{
453
+ type: Component,
454
+ 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: [""] }]
455
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
456
+ type: Inject,
457
+ args: [AJF_WARNING_ALERT_SERVICE]
458
+ }] }, { type: undefined, decorators: [{
459
+ type: Optional
460
+ }, {
461
+ type: Inject,
462
+ args: [AJF_SEARCH_ALERT_THRESHOLD]
463
+ }] }]; } });
464
+
465
+ /**
466
+ * @license
467
+ * Copyright (C) Gnucoop soc. coop.
468
+ *
469
+ * This file is part of the Advanced JSON forms (ajf).
470
+ *
471
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
472
+ * modify it under the terms of the GNU Affero General Public License as
473
+ * published by the Free Software Foundation, either version 3 of the License,
474
+ * or (at your option) any later version.
475
+ *
476
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
477
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
478
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
479
+ * General Public License for more details.
480
+ *
481
+ * You should have received a copy of the GNU Affero General Public License
482
+ * along with Advanced JSON forms (ajf).
483
+ * If not, see http://www.gnu.org/licenses/.
484
+ *
485
+ */
486
+ class AjfTableFieldComponent extends AjfTableFieldComponent$1 {
487
+ constructor(cdr, service, was) {
488
+ super(cdr, service, was);
489
+ }
490
+ }
491
+ 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 });
492
+ 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 });
493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfTableFieldComponent, decorators: [{
494
+ type: Component,
495
+ 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"] }]
496
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
497
+ type: Inject,
498
+ args: [AJF_WARNING_ALERT_SERVICE]
499
+ }] }]; } });
500
+
501
+ /**
502
+ * @license
503
+ * Copyright (C) Gnucoop soc. coop.
504
+ *
505
+ * This file is part of the Advanced JSON forms (ajf).
506
+ *
507
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
508
+ * modify it under the terms of the GNU Affero General Public License as
509
+ * published by the Free Software Foundation, either version 3 of the License,
510
+ * or (at your option) any later version.
511
+ *
512
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
513
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
514
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
515
+ * General Public License for more details.
516
+ *
517
+ * You should have received a copy of the GNU Affero General Public License
518
+ * along with Advanced JSON forms (ajf).
519
+ * If not, see http://www.gnu.org/licenses/.
520
+ *
521
+ */
522
+ class AjfTextFieldComponent extends AjfInputFieldComponent$1 {
523
+ constructor(cdr, service, was) {
524
+ super(cdr, service, was);
525
+ }
526
+ }
527
+ 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 });
528
+ 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 });
529
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfTextFieldComponent, decorators: [{
530
+ type: Component,
531
+ 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: [""] }]
532
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
533
+ type: Inject,
534
+ args: [AJF_WARNING_ALERT_SERVICE]
535
+ }] }]; } });
536
+
537
+ /**
538
+ * @license
539
+ * Copyright (C) Gnucoop soc. coop.
540
+ *
541
+ * This file is part of the Advanced JSON forms (ajf).
542
+ *
543
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
544
+ * modify it under the terms of the GNU Affero General Public License as
545
+ * published by the Free Software Foundation, either version 3 of the License,
546
+ * or (at your option) any later version.
547
+ *
548
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
549
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
550
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
551
+ * General Public License for more details.
552
+ *
553
+ * You should have received a copy of the GNU Affero General Public License
554
+ * along with Advanced JSON forms (ajf).
555
+ * If not, see http://www.gnu.org/licenses/.
556
+ *
557
+ */
558
+ class AjfTimeFieldComponent extends AjfBaseFieldComponent {
559
+ constructor(cdr, service, was) {
560
+ super(cdr, service, was);
561
+ }
562
+ }
563
+ 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 });
564
+ 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 });
565
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfTimeFieldComponent, decorators: [{
566
+ type: Component,
567
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ajf-time *ngIf=\"control|async as ctrl\" [formControl]=\"ctrl!\"></ajf-time>\n", styles: [""] }]
568
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
569
+ type: Inject,
570
+ args: [AJF_WARNING_ALERT_SERVICE]
571
+ }] }]; } });
572
+
573
+ /**
574
+ * @license
575
+ * Copyright (C) Gnucoop soc. coop.
576
+ *
577
+ * This file is part of the Advanced JSON forms (ajf).
578
+ *
579
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
580
+ * modify it under the terms of the GNU Affero General Public License as
581
+ * published by the Free Software Foundation, either version 3 of the License,
582
+ * or (at your option) any later version.
583
+ *
584
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
585
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
586
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
587
+ * General Public License for more details.
588
+ *
589
+ * You should have received a copy of the GNU Affero General Public License
590
+ * along with Advanced JSON forms (ajf).
591
+ * If not, see http://www.gnu.org/licenses/.
592
+ *
593
+ */
594
+ class AjfVideoUrlFieldComponent extends AjfVideoUrlFieldComponent$1 {
595
+ constructor(cdr, service, was, domSanitizer, httpClient) {
596
+ super(cdr, service, was, domSanitizer, httpClient);
597
+ }
598
+ }
599
+ 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 });
600
+ 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 });
601
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfVideoUrlFieldComponent, decorators: [{
602
+ type: Component,
603
+ 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"] }]
604
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$1.AjfFormRendererService }, { type: AjfWarningAlertService, decorators: [{
605
+ type: Inject,
606
+ args: [AJF_WARNING_ALERT_SERVICE]
607
+ }] }, { type: i2$8.DomSanitizer }, { type: i3$3.HttpClient }]; } });
608
+
609
+ /**
610
+ * @license
611
+ * Copyright (C) Gnucoop soc. coop.
612
+ *
613
+ * This file is part of the Advanced JSON forms (ajf).
614
+ *
615
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
616
+ * modify it under the terms of the GNU Affero General Public License as
617
+ * published by the Free Software Foundation, either version 3 of the License,
618
+ * or (at your option) any later version.
619
+ *
620
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
621
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
622
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
623
+ * General Public License for more details.
624
+ *
625
+ * You should have received a copy of the GNU Affero General Public License
626
+ * along with Advanced JSON forms (ajf).
627
+ * If not, see http://www.gnu.org/licenses/.
628
+ *
629
+ */
630
+ class AjfFieldService extends AjfFieldService$1 {
631
+ constructor() {
632
+ super();
633
+ (this.componentsMap[AjfFieldType.String] = {
634
+ component: AjfInputFieldComponent,
635
+ readOnlyComponent: AjfReadOnlyFieldComponent,
636
+ }),
637
+ (this.componentsMap[AjfFieldType.Text] = {
638
+ component: AjfTextFieldComponent,
639
+ readOnlyComponent: AjfReadOnlyFieldComponent,
640
+ }),
641
+ (this.componentsMap[AjfFieldType.Number] = {
642
+ component: AjfInputFieldComponent,
643
+ readOnlyComponent: AjfReadOnlyFieldComponent,
644
+ inputs: { type: 'number' },
645
+ }),
646
+ (this.componentsMap[AjfFieldType.Boolean] = {
647
+ component: AjfBooleanFieldComponent,
648
+ readOnlyComponent: AjfReadOnlyFieldComponent,
649
+ }),
650
+ (this.componentsMap[AjfFieldType.Formula] = {
651
+ component: AjfInputFieldComponent,
652
+ readOnlyComponent: AjfReadOnlyFieldComponent,
653
+ inputs: { readonly: true },
654
+ }),
655
+ (this.componentsMap[AjfFieldType.Date] = {
656
+ component: AjfDateFieldComponent,
657
+ readOnlyComponent: AjfReadOnlyFieldComponent,
658
+ }),
659
+ (this.componentsMap[AjfFieldType.DateInput] = {
660
+ component: AjfDateInputFieldComponent,
661
+ readOnlyComponent: AjfReadOnlyFieldComponent,
662
+ }),
663
+ (this.componentsMap[AjfFieldType.Table] = {
664
+ component: AjfTableFieldComponent,
665
+ readOnlyComponent: AjfReadOnlyTableFieldComponent,
666
+ }),
667
+ (this.componentsMap[AjfFieldType.Empty] = { component: AjfEmptyFieldComponent }),
668
+ (this.componentsMap[AjfFieldType.SingleChoice] = {
669
+ component: AjfSingleChoiceFieldComponent,
670
+ readOnlyComponent: AjfReadOnlySelectFieldComponent,
671
+ }),
672
+ (this.componentsMap[AjfFieldType.MultipleChoice] = {
673
+ component: AjfMultipleChoiceFieldComponent,
674
+ readOnlyComponent: AjfReadOnlySelectFieldComponent,
675
+ }),
676
+ (this.componentsMap[AjfFieldType.Time] = {
677
+ component: AjfTimeFieldComponent,
678
+ readOnlyComponent: AjfReadOnlyFieldComponent,
679
+ }),
680
+ (this.componentsMap[AjfFieldType.Barcode] = {
681
+ component: AjfBarcodeFieldComponent,
682
+ readOnlyComponent: AjfReadOnlyFieldComponent,
683
+ });
684
+ this.componentsMap[AjfFieldType.File] = {
685
+ component: AjfFileFieldComponent,
686
+ readOnlyComponent: AjfReadOnlyFileFieldComponent,
687
+ };
688
+ this.componentsMap[AjfFieldType.Image] = {
689
+ component: AjfImageFieldComponent,
690
+ readOnlyComponent: AjfReadOnlyImageFieldComponent,
691
+ };
692
+ this.componentsMap[AjfFieldType.VideoUrl] = {
693
+ component: AjfVideoUrlFieldComponent,
694
+ readOnlyComponent: AjfReadOnlyVideoUrlFieldComponent,
695
+ };
696
+ this.componentsMap[AjfFieldType.Range] = {
697
+ component: AjfRangeFieldComponent,
698
+ readOnlyComponent: AjfReadOnlyFieldComponent,
699
+ };
700
+ }
701
+ }
702
+ AjfFieldService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFieldService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
703
+ AjfFieldService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFieldService, providedIn: 'root' });
704
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFieldService, decorators: [{
705
+ type: Injectable,
706
+ args: [{ providedIn: 'root' }]
707
+ }], ctorParameters: function () { return []; } });
708
+
709
+ /**
710
+ * @license
711
+ * Copyright (C) Gnucoop soc. coop.
712
+ *
713
+ * This file is part of the Advanced JSON forms (ajf).
714
+ *
715
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
716
+ * modify it under the terms of the GNU Affero General Public License as
717
+ * published by the Free Software Foundation, either version 3 of the License,
718
+ * or (at your option) any later version.
719
+ *
720
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
721
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
722
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
723
+ * General Public License for more details.
724
+ *
725
+ * You should have received a copy of the GNU Affero General Public License
726
+ * along with Advanced JSON forms (ajf).
727
+ * If not, see http://www.gnu.org/licenses/.
728
+ *
729
+ */
730
+ class AjfFormField extends AjfFormField$1 {
731
+ constructor(cdr, cfr, fieldService) {
732
+ super(cdr, cfr);
733
+ this.componentsMap = fieldService.componentsMap;
734
+ }
735
+ }
736
+ 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 });
737
+ 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 });
738
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormField, decorators: [{
739
+ type: Component,
740
+ 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"] }]
741
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ComponentFactoryResolver }, { type: AjfFieldService }]; } });
742
+
743
+ /**
744
+ * @license
745
+ * Copyright (C) Gnucoop soc. coop.
746
+ *
747
+ * This file is part of the Advanced JSON forms (ajf).
748
+ *
749
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
750
+ * modify it under the terms of the GNU Affero General Public License as
751
+ * published by the Free Software Foundation, either version 3 of the License,
752
+ * or (at your option) any later version.
753
+ *
754
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
755
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
756
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
757
+ * General Public License for more details.
758
+ *
759
+ * You should have received a copy of the GNU Affero General Public License
760
+ * along with Advanced JSON forms (ajf).
761
+ * If not, see http://www.gnu.org/licenses/.
762
+ *
763
+ */
764
+ class AjfFormRenderer extends AjfFormRenderer$1 {
765
+ constructor(rendererService, changeDetectorRef) {
766
+ super(rendererService, changeDetectorRef);
767
+ this.topBar = false;
768
+ }
769
+ }
770
+ 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 });
771
+ 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 });
772
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormRenderer, decorators: [{
773
+ type: Component,
774
+ 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"] }]
775
+ }], ctorParameters: function () { return [{ type: i1$1.AjfFormRendererService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { topBar: [{
776
+ type: Input
777
+ }] } });
778
+
779
+ /**
780
+ * @license
781
+ * Copyright (C) Gnucoop soc. coop.
782
+ *
783
+ * This file is part of the Advanced JSON forms (ajf).
784
+ *
785
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
786
+ * modify it under the terms of the GNU Affero General Public License as
787
+ * published by the Free Software Foundation, either version 3 of the License,
788
+ * or (at your option) any later version.
789
+ *
790
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
791
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
792
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
793
+ * General Public License for more details.
794
+ *
795
+ * You should have received a copy of the GNU Affero General Public License
796
+ * along with Advanced JSON forms (ajf).
797
+ * If not, see http://www.gnu.org/licenses/.
798
+ *
799
+ */
800
+ class AjfFormsModule {
801
+ static forRoot() {
802
+ return {
803
+ ngModule: AjfFormsModule,
804
+ providers: [AjfFieldService],
805
+ };
806
+ }
807
+ }
808
+ AjfFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
809
+ AjfFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormsModule, declarations: [AjfBarcodeFieldComponent,
810
+ AjfBooleanFieldComponent,
811
+ AjfDateFieldComponent,
812
+ AjfDateInputFieldComponent,
813
+ AjfEmptyFieldComponent,
814
+ AjfFieldWarningDialog,
815
+ AjfFormField,
816
+ AjfFormRenderer,
817
+ AjfInputFieldComponent,
818
+ AjfMultipleChoiceFieldComponent,
819
+ AjfRangeFieldComponent,
820
+ AjfSingleChoiceFieldComponent,
821
+ AjfTableFieldComponent,
822
+ AjfTextFieldComponent,
823
+ AjfTimeFieldComponent,
824
+ AjfVideoUrlFieldComponent], imports: [AjfBarcodeModule,
825
+ AjfCalendarModule,
826
+ AjfCommonModule,
827
+ AjfFormsModule$1,
828
+ AjfCheckboxGroupModule,
829
+ AjfPageSliderModule,
830
+ AjfTimeModule,
831
+ AjfTranslocoModule,
832
+ CommonModule,
833
+ MatButtonModule,
834
+ MatButtonToggleModule,
835
+ MatCardModule,
836
+ MatDialogModule,
837
+ MatFormFieldModule,
838
+ MatIconModule,
839
+ MatInputModule,
840
+ MatRadioModule,
841
+ MatSelectModule,
842
+ MatSlideToggleModule,
843
+ MatToolbarModule,
844
+ MatTooltipModule,
845
+ ReactiveFormsModule,
846
+ TextFieldModule,
847
+ MatSliderModule], exports: [AjfFormField, AjfFormRenderer] });
848
+ AjfFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormsModule, providers: [
849
+ AjfFieldService,
850
+ { provide: AJF_WARNING_ALERT_SERVICE, useClass: AjfWarningAlertService },
851
+ ], imports: [[
852
+ AjfBarcodeModule,
853
+ AjfCalendarModule,
854
+ AjfCommonModule,
855
+ AjfFormsModule$1,
856
+ AjfCheckboxGroupModule,
857
+ AjfPageSliderModule,
858
+ AjfTimeModule,
859
+ AjfTranslocoModule,
860
+ CommonModule,
861
+ MatButtonModule,
862
+ MatButtonToggleModule,
863
+ MatCardModule,
864
+ MatDialogModule,
865
+ MatFormFieldModule,
866
+ MatIconModule,
867
+ MatInputModule,
868
+ MatRadioModule,
869
+ MatSelectModule,
870
+ MatSlideToggleModule,
871
+ MatToolbarModule,
872
+ MatTooltipModule,
873
+ ReactiveFormsModule,
874
+ TextFieldModule,
875
+ MatSliderModule,
876
+ ]] });
877
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfFormsModule, decorators: [{
878
+ type: NgModule,
879
+ args: [{
880
+ imports: [
881
+ AjfBarcodeModule,
882
+ AjfCalendarModule,
883
+ AjfCommonModule,
884
+ AjfFormsModule$1,
885
+ AjfCheckboxGroupModule,
886
+ AjfPageSliderModule,
887
+ AjfTimeModule,
888
+ AjfTranslocoModule,
889
+ CommonModule,
890
+ MatButtonModule,
891
+ MatButtonToggleModule,
892
+ MatCardModule,
893
+ MatDialogModule,
894
+ MatFormFieldModule,
895
+ MatIconModule,
896
+ MatInputModule,
897
+ MatRadioModule,
898
+ MatSelectModule,
899
+ MatSlideToggleModule,
900
+ MatToolbarModule,
901
+ MatTooltipModule,
902
+ ReactiveFormsModule,
903
+ TextFieldModule,
904
+ MatSliderModule,
905
+ ],
906
+ declarations: [
907
+ AjfBarcodeFieldComponent,
908
+ AjfBooleanFieldComponent,
909
+ AjfDateFieldComponent,
910
+ AjfDateInputFieldComponent,
911
+ AjfEmptyFieldComponent,
912
+ AjfFieldWarningDialog,
913
+ AjfFormField,
914
+ AjfFormRenderer,
915
+ AjfInputFieldComponent,
916
+ AjfMultipleChoiceFieldComponent,
917
+ AjfRangeFieldComponent,
918
+ AjfSingleChoiceFieldComponent,
919
+ AjfTableFieldComponent,
920
+ AjfTextFieldComponent,
921
+ AjfTimeFieldComponent,
922
+ AjfVideoUrlFieldComponent,
923
+ ],
924
+ entryComponents: [
925
+ AjfBarcodeFieldComponent,
926
+ AjfBooleanFieldComponent,
927
+ AjfDateFieldComponent,
928
+ AjfDateInputFieldComponent,
929
+ AjfEmptyFieldComponent,
930
+ AjfInputFieldComponent,
931
+ AjfMultipleChoiceFieldComponent,
932
+ AjfRangeFieldComponent,
933
+ AjfSingleChoiceFieldComponent,
934
+ AjfTableFieldComponent,
935
+ AjfTextFieldComponent,
936
+ AjfTimeFieldComponent,
937
+ AjfVideoUrlFieldComponent,
938
+ ],
939
+ exports: [AjfFormField, AjfFormRenderer],
940
+ providers: [
941
+ AjfFieldService,
942
+ { provide: AJF_WARNING_ALERT_SERVICE, useClass: AjfWarningAlertService },
943
+ ],
944
+ }]
945
+ }] });
946
+
947
+ /**
948
+ * @license
949
+ * Copyright (C) Gnucoop soc. coop.
950
+ *
951
+ * This file is part of the Advanced JSON forms (ajf).
952
+ *
953
+ * Advanced JSON forms (ajf) is free software: you can redistribute it and/or
954
+ * modify it under the terms of the GNU Affero General Public License as
955
+ * published by the Free Software Foundation, either version 3 of the License,
956
+ * or (at your option) any later version.
957
+ *
958
+ * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
959
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
960
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
961
+ * General Public License for more details.
962
+ *
963
+ * You should have received a copy of the GNU Affero General Public License
964
+ * along with Advanced JSON forms (ajf).
965
+ * If not, see http://www.gnu.org/licenses/.
966
+ *
967
+ */
968
+
969
+ /**
970
+ * Generated bundle index. Do not edit.
971
+ */
972
+
973
+ export { AjfBooleanFieldComponent, AjfDateFieldComponent, AjfDateInputFieldComponent, AjfEmptyFieldComponent, AjfFieldService, AjfFieldWarningDialog, AjfFormField, AjfFormRenderer, AjfFormsModule, AjfInputFieldComponent, AjfMultipleChoiceFieldComponent, AjfSingleChoiceFieldComponent, AjfTableFieldComponent, AjfTimeFieldComponent, AjfWarningAlertService };
974
+ //# sourceMappingURL=ajf-material-forms.mjs.map