@fieldia/core 0.28.0 → 0.30.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 (251) hide show
  1. package/README.md +125 -1
  2. package/package.json +1 -1
  3. package/schema/page.schema.json +279 -6
  4. package/src/index.d.mts +8 -2
  5. package/src/index.d.ts +8 -2
  6. package/src/index.js +29 -2
  7. package/src/index.js.map +1 -1
  8. package/src/index.mjs +11 -2
  9. package/src/index.mjs.map +1 -1
  10. package/src/lib/format/approval-checks.d.mts +8 -0
  11. package/src/lib/format/approval-checks.d.ts +8 -0
  12. package/src/lib/format/approval-checks.js +29 -0
  13. package/src/lib/format/approval-checks.js.map +1 -0
  14. package/src/lib/format/approval-checks.mjs +26 -0
  15. package/src/lib/format/approval-checks.mjs.map +1 -0
  16. package/src/lib/format/approval.d.mts +20 -0
  17. package/src/lib/format/approval.d.ts +20 -0
  18. package/src/lib/format/approval.js +25 -0
  19. package/src/lib/format/approval.js.map +1 -0
  20. package/src/lib/format/approval.mjs +22 -0
  21. package/src/lib/format/approval.mjs.map +1 -0
  22. package/src/lib/format/assist-checks.d.mts +14 -0
  23. package/src/lib/format/assist-checks.d.ts +14 -0
  24. package/src/lib/format/assist-checks.js +68 -0
  25. package/src/lib/format/assist-checks.js.map +1 -0
  26. package/src/lib/format/assist-checks.mjs +64 -0
  27. package/src/lib/format/assist-checks.mjs.map +1 -0
  28. package/src/lib/format/assist.d.mts +41 -0
  29. package/src/lib/format/assist.d.ts +41 -0
  30. package/src/lib/format/assist.js +29 -0
  31. package/src/lib/format/assist.js.map +1 -0
  32. package/src/lib/format/assist.mjs +26 -0
  33. package/src/lib/format/assist.mjs.map +1 -0
  34. package/src/lib/format/editable-checks.d.mts +8 -0
  35. package/src/lib/format/editable-checks.d.ts +8 -0
  36. package/src/lib/format/editable-checks.js +38 -0
  37. package/src/lib/format/editable-checks.js.map +1 -0
  38. package/src/lib/format/editable-checks.mjs +35 -0
  39. package/src/lib/format/editable-checks.mjs.map +1 -0
  40. package/src/lib/format/field.d.mts +86 -0
  41. package/src/lib/format/field.d.ts +86 -0
  42. package/src/lib/format/field.js +56 -10
  43. package/src/lib/format/field.js.map +1 -1
  44. package/src/lib/format/field.mjs +55 -9
  45. package/src/lib/format/field.mjs.map +1 -1
  46. package/src/lib/format/head-checks.d.mts +10 -2
  47. package/src/lib/format/head-checks.d.ts +10 -2
  48. package/src/lib/format/head-checks.js +9 -2
  49. package/src/lib/format/head-checks.js.map +1 -1
  50. package/src/lib/format/head-checks.mjs +10 -4
  51. package/src/lib/format/head-checks.mjs.map +1 -1
  52. package/src/lib/format/languages-checks.d.mts +8 -0
  53. package/src/lib/format/languages-checks.d.ts +8 -0
  54. package/src/lib/format/languages-checks.js +40 -0
  55. package/src/lib/format/languages-checks.js.map +1 -0
  56. package/src/lib/format/languages-checks.mjs +37 -0
  57. package/src/lib/format/languages-checks.mjs.map +1 -0
  58. package/src/lib/format/later-checks.d.mts +4 -3
  59. package/src/lib/format/later-checks.d.ts +4 -3
  60. package/src/lib/format/later-checks.js +4 -3
  61. package/src/lib/format/later-checks.js.map +1 -1
  62. package/src/lib/format/later-checks.mjs +4 -3
  63. package/src/lib/format/later-checks.mjs.map +1 -1
  64. package/src/lib/format/layout.d.mts +129 -26
  65. package/src/lib/format/layout.d.ts +129 -26
  66. package/src/lib/format/layout.js +24 -3
  67. package/src/lib/format/layout.js.map +1 -1
  68. package/src/lib/format/layout.mjs +22 -1
  69. package/src/lib/format/layout.mjs.map +1 -1
  70. package/src/lib/format/layout.types.d.mts +2 -1
  71. package/src/lib/format/layout.types.d.ts +2 -1
  72. package/src/lib/format/list-editable.d.mts +20 -0
  73. package/src/lib/format/list-editable.d.ts +20 -0
  74. package/src/lib/format/list-editable.js +33 -0
  75. package/src/lib/format/list-editable.js.map +1 -0
  76. package/src/lib/format/list-editable.mjs +28 -0
  77. package/src/lib/format/list-editable.mjs.map +1 -0
  78. package/src/lib/format/page.d.mts +88 -9
  79. package/src/lib/format/page.d.ts +88 -9
  80. package/src/lib/format/page.js +4 -0
  81. package/src/lib/format/page.js.map +1 -1
  82. package/src/lib/format/page.mjs +4 -0
  83. package/src/lib/format/page.mjs.map +1 -1
  84. package/src/lib/format/photos-options.d.mts +29 -0
  85. package/src/lib/format/photos-options.d.ts +29 -0
  86. package/src/lib/format/photos-options.js +49 -0
  87. package/src/lib/format/photos-options.js.map +1 -0
  88. package/src/lib/format/photos-options.mjs +45 -0
  89. package/src/lib/format/photos-options.mjs.map +1 -0
  90. package/src/lib/format/references.d.mts +3 -1
  91. package/src/lib/format/references.d.ts +3 -1
  92. package/src/lib/format/references.js +41 -14
  93. package/src/lib/format/references.js.map +1 -1
  94. package/src/lib/format/references.mjs +42 -15
  95. package/src/lib/format/references.mjs.map +1 -1
  96. package/src/lib/format/scan-checks.d.mts +12 -0
  97. package/src/lib/format/scan-checks.d.ts +12 -0
  98. package/src/lib/format/scan-checks.js +89 -0
  99. package/src/lib/format/scan-checks.js.map +1 -0
  100. package/src/lib/format/scan-checks.mjs +86 -0
  101. package/src/lib/format/scan-checks.mjs.map +1 -0
  102. package/src/lib/format/scan-options.d.mts +84 -0
  103. package/src/lib/format/scan-options.d.ts +84 -0
  104. package/src/lib/format/scan-options.js +58 -0
  105. package/src/lib/format/scan-options.js.map +1 -0
  106. package/src/lib/format/scan-options.mjs +54 -0
  107. package/src/lib/format/scan-options.mjs.map +1 -0
  108. package/src/lib/format/sheet-head-checks.d.mts +10 -2
  109. package/src/lib/format/sheet-head-checks.d.ts +10 -2
  110. package/src/lib/format/sheet-head-checks.js +24 -0
  111. package/src/lib/format/sheet-head-checks.js.map +1 -1
  112. package/src/lib/format/sheet-head-checks.mjs +23 -0
  113. package/src/lib/format/sheet-head-checks.mjs.map +1 -1
  114. package/src/lib/format/upgrade.d.mts +6 -2
  115. package/src/lib/format/upgrade.d.ts +6 -2
  116. package/src/lib/format/upgrade.js +6 -2
  117. package/src/lib/format/upgrade.js.map +1 -1
  118. package/src/lib/format/upgrade.mjs +6 -2
  119. package/src/lib/format/upgrade.mjs.map +1 -1
  120. package/src/lib/format/version.d.mts +2 -2
  121. package/src/lib/format/version.d.ts +2 -2
  122. package/src/lib/format/version.js +2 -2
  123. package/src/lib/format/version.js.map +1 -1
  124. package/src/lib/format/version.mjs +2 -2
  125. package/src/lib/format/version.mjs.map +1 -1
  126. package/src/lib/record/approvals-part.d.mts +6 -0
  127. package/src/lib/record/approvals-part.d.ts +6 -0
  128. package/src/lib/record/approvals-part.js +14 -0
  129. package/src/lib/record/approvals-part.js.map +1 -0
  130. package/src/lib/record/approvals-part.mjs +7 -0
  131. package/src/lib/record/approvals-part.mjs.map +1 -0
  132. package/src/lib/record/approving.d.mts +45 -0
  133. package/src/lib/record/approving.d.ts +45 -0
  134. package/src/lib/record/approving.js +10 -0
  135. package/src/lib/record/approving.js.map +1 -0
  136. package/src/lib/record/approving.mjs +7 -0
  137. package/src/lib/record/approving.mjs.map +1 -0
  138. package/src/lib/record/check.js +4 -0
  139. package/src/lib/record/check.js.map +1 -1
  140. package/src/lib/record/check.mjs +4 -0
  141. package/src/lib/record/check.mjs.map +1 -1
  142. package/src/lib/record/data-source.d.mts +270 -0
  143. package/src/lib/record/data-source.d.ts +270 -0
  144. package/src/lib/record/data-source.js.map +1 -1
  145. package/src/lib/record/data-source.mjs.map +1 -1
  146. package/src/lib/record/files-part.d.mts +7 -0
  147. package/src/lib/record/files-part.d.ts +7 -0
  148. package/src/lib/record/files-part.js +167 -0
  149. package/src/lib/record/files-part.js.map +1 -0
  150. package/src/lib/record/files-part.mjs +163 -0
  151. package/src/lib/record/files-part.mjs.map +1 -0
  152. package/src/lib/record/filter.d.mts +5 -0
  153. package/src/lib/record/filter.d.ts +5 -0
  154. package/src/lib/record/filter.js +1 -0
  155. package/src/lib/record/filter.js.map +1 -1
  156. package/src/lib/record/filter.mjs +1 -1
  157. package/src/lib/record/filter.mjs.map +1 -1
  158. package/src/lib/record/form-approvals.d.mts +47 -0
  159. package/src/lib/record/form-approvals.d.ts +47 -0
  160. package/src/lib/record/form-approvals.js +186 -0
  161. package/src/lib/record/form-approvals.js.map +1 -0
  162. package/src/lib/record/form-approvals.mjs +180 -0
  163. package/src/lib/record/form-approvals.mjs.map +1 -0
  164. package/src/lib/record/form.d.mts +32 -1
  165. package/src/lib/record/form.d.ts +32 -1
  166. package/src/lib/record/form.js +60 -15
  167. package/src/lib/record/form.js.map +1 -1
  168. package/src/lib/record/form.mjs +60 -15
  169. package/src/lib/record/form.mjs.map +1 -1
  170. package/src/lib/record/languages-part.d.mts +32 -0
  171. package/src/lib/record/languages-part.d.ts +32 -0
  172. package/src/lib/record/languages-part.js +104 -0
  173. package/src/lib/record/languages-part.js.map +1 -0
  174. package/src/lib/record/languages-part.mjs +96 -0
  175. package/src/lib/record/languages-part.mjs.map +1 -0
  176. package/src/lib/record/languages.d.mts +26 -0
  177. package/src/lib/record/languages.d.ts +26 -0
  178. package/src/lib/record/languages.js +20 -0
  179. package/src/lib/record/languages.js.map +1 -0
  180. package/src/lib/record/languages.mjs +15 -0
  181. package/src/lib/record/languages.mjs.map +1 -0
  182. package/src/lib/record/locales/ar.js +5 -0
  183. package/src/lib/record/locales/ar.js.map +1 -1
  184. package/src/lib/record/locales/ar.mjs +5 -0
  185. package/src/lib/record/locales/ar.mjs.map +1 -1
  186. package/src/lib/record/locales/de.js +5 -0
  187. package/src/lib/record/locales/de.js.map +1 -1
  188. package/src/lib/record/locales/de.mjs +5 -0
  189. package/src/lib/record/locales/de.mjs.map +1 -1
  190. package/src/lib/record/locales/fr.js +5 -0
  191. package/src/lib/record/locales/fr.js.map +1 -1
  192. package/src/lib/record/locales/fr.mjs +5 -0
  193. package/src/lib/record/locales/fr.mjs.map +1 -1
  194. package/src/lib/record/memory-approvals.d.mts +47 -0
  195. package/src/lib/record/memory-approvals.d.ts +47 -0
  196. package/src/lib/record/memory-approvals.js +78 -0
  197. package/src/lib/record/memory-approvals.js.map +1 -0
  198. package/src/lib/record/memory-approvals.mjs +75 -0
  199. package/src/lib/record/memory-approvals.mjs.map +1 -0
  200. package/src/lib/record/memory-assist.d.mts +53 -0
  201. package/src/lib/record/memory-assist.d.ts +53 -0
  202. package/src/lib/record/memory-assist.js +519 -0
  203. package/src/lib/record/memory-assist.js.map +1 -0
  204. package/src/lib/record/memory-assist.mjs +513 -0
  205. package/src/lib/record/memory-assist.mjs.map +1 -0
  206. package/src/lib/record/memory-clusters.d.mts +18 -0
  207. package/src/lib/record/memory-clusters.d.ts +18 -0
  208. package/src/lib/record/memory-clusters.js +83 -0
  209. package/src/lib/record/memory-clusters.js.map +1 -0
  210. package/src/lib/record/memory-clusters.mjs +80 -0
  211. package/src/lib/record/memory-clusters.mjs.map +1 -0
  212. package/src/lib/record/memory-data-source.d.mts +43 -3
  213. package/src/lib/record/memory-data-source.d.ts +43 -3
  214. package/src/lib/record/memory-data-source.js +105 -19
  215. package/src/lib/record/memory-data-source.js.map +1 -1
  216. package/src/lib/record/memory-data-source.mjs +105 -19
  217. package/src/lib/record/memory-data-source.mjs.map +1 -1
  218. package/src/lib/record/memory-later.d.mts +1 -1
  219. package/src/lib/record/memory-later.d.ts +1 -1
  220. package/src/lib/record/memory-later.js +4 -1
  221. package/src/lib/record/memory-later.js.map +1 -1
  222. package/src/lib/record/memory-later.mjs +4 -1
  223. package/src/lib/record/memory-later.mjs.map +1 -1
  224. package/src/lib/record/messages.d.mts +14 -0
  225. package/src/lib/record/messages.d.ts +14 -0
  226. package/src/lib/record/messages.js +5 -0
  227. package/src/lib/record/messages.js.map +1 -1
  228. package/src/lib/record/messages.mjs +5 -0
  229. package/src/lib/record/messages.mjs.map +1 -1
  230. package/src/lib/record/run.d.mts +6 -1
  231. package/src/lib/record/run.d.ts +6 -1
  232. package/src/lib/record/run.js.map +1 -1
  233. package/src/lib/record/run.mjs.map +1 -1
  234. package/src/lib/record/uploads.d.mts +35 -9
  235. package/src/lib/record/uploads.d.ts +35 -9
  236. package/src/lib/record/uploads.js +49 -169
  237. package/src/lib/record/uploads.js.map +1 -1
  238. package/src/lib/record/uploads.mjs +42 -164
  239. package/src/lib/record/uploads.mjs.map +1 -1
  240. package/src/lib/record/values.d.mts +23 -0
  241. package/src/lib/record/values.d.ts +23 -0
  242. package/src/lib/record/values.js +4 -0
  243. package/src/lib/record/values.js.map +1 -1
  244. package/src/lib/record/values.mjs +4 -0
  245. package/src/lib/record/values.mjs.map +1 -1
  246. package/src/runtime.d.mts +12 -5
  247. package/src/runtime.d.ts +12 -5
  248. package/src/runtime.js +18 -3
  249. package/src/runtime.js.map +1 -1
  250. package/src/runtime.mjs +7 -1
  251. package/src/runtime.mjs.map +1 -1
@@ -11,6 +11,8 @@ const duplicates_1 = require("./duplicates");
11
11
  const records_1 = require("./records");
12
12
  const endings_1 = require("./endings");
13
13
  const limits_1 = require("./limits");
14
+ const approval_1 = require("./approval");
15
+ const assist_1 = require("./assist");
14
16
  const themes_1 = require("./themes");
15
17
  var themes_2 = require("./themes");
16
18
  Object.defineProperty(exports, "THEMES", { enumerable: true, get: function () { return themes_2.THEMES; } });
@@ -97,6 +99,8 @@ exports.PageSchema = z
97
99
  endings: endings_1.PageEndingsSchema.optional(),
98
100
  limits: limits_1.PageLimitsSchema.optional(),
99
101
  continueLater: z.boolean().optional(),
102
+ approval: approval_1.PageApprovalSchema.optional(),
103
+ suggest: assist_1.PageSuggestSchema.optional(),
100
104
  })
101
105
  .meta({
102
106
  title: 'Fieldia page',
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/page.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,uCAA8D;AAC9D,mCAAoE;AACpE,qCAA8F;AAC9F,2CAAwE;AACxE,mCAA0D;AAC1D,6CAAyE;AACzE,uCAAgE;AAChE,uCAA+D;AAC/D,qCAA6D;AAC7D,qCAA8C;AAC9C,mCAA8C;AAArC,gGAAA,MAAM,OAAA;AACf,qCAA4C;AAE5C,uCAA+E;AAE/E,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AAsMV,QAAA,cAAc,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACzD,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACrD,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACpD,MAAM,YAAY,GAAmD;IACnE,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM;CACf,CAAC;AACF,4DAA4D;AAC5D,MAAM,eAAe,GAAG,CAAC,CAAC,YAAY,CACpC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,sBAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAC3K,CACF,CAAC;AAEW,QAAA,UAAU,GAAG,CAAC;KACxB,YAAY,CAAC;IACZ,0GAA0G;IAC1G,8GAA8G;IAC9G,mDAAmD;IACnD,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,yBAAe,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,uBAAa,EAAC,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;IAC/F,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,sBAAc;IACpB,MAAM,EAAE,oBAAY;IACpB,MAAM,EAAE,yBAAgB;IACxB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrD,IAAI,EAAE,CAAC;SACJ,YAAY,CAAC;QACZ,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;QACzB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;QACvD,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC/D,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;QAC3B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;QACxD,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC/C,SAAS,EAAE,wBAAe,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC7C,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;QACjD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAClC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;QACpD,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;QACjC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAK,CAAC,CAAC,QAAQ,EAAE;QAC9B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;KACpD,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,QAAQ,EAAE;IACzE,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzH,EAAE,EAAE,0BAAgB,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC;SACR,YAAY,CAAC;QACZ,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QAClD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KACtC,CAAC;SACD,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;SACxB,QAAQ,EAAE;IACb,KAAK,EAAE,uBAAe,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,sBAAc,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,CAAC;SACL,YAAY,CAAC;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QAC9C,kHAAkH;QAClH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,KAAK,CAAC,oDAAoD,EAAE,EAAE,KAAK,EAAE,kEAAkE,EAAE,CAAC;aAC1I,QAAQ,EAAE;KACd,CAAC;SACD,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;SACzB,QAAQ,EAAE;IACb,UAAU,EAAE,iCAAoB,CAAC,QAAQ,EAAE;IAC3C,OAAO,EAAE,2BAAiB,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,2BAAiB,CAAC,QAAQ,EAAE;IACrC,MAAM,EAAE,yBAAgB,CAAC,QAAQ,EAAE;IACnC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC;KACD,IAAI,CAAC;IACJ,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,8HAA8H;CACjI,CAAC,CAAC"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/page.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ import { PageDuplicatesSchema } from './duplicates.mjs';
8
8
  import { PageRecordsSchema } from './records.mjs';
9
9
  import { PageEndingsSchema } from './endings.mjs';
10
10
  import { PageLimitsSchema } from './limits.mjs';
11
+ import { PageApprovalSchema } from './approval.mjs';
12
+ import { PageSuggestSchema } from './assist.mjs';
11
13
  import { THEMES } from './themes.mjs';
12
14
  export { THEMES } from './themes.mjs';
13
15
  import { SKINS } from './themes.mjs';
@@ -92,6 +94,8 @@ export const PageSchema = z
92
94
  endings: PageEndingsSchema.optional(),
93
95
  limits: PageLimitsSchema.optional(),
94
96
  continueLater: z.boolean().optional(),
97
+ approval: PageApprovalSchema.optional(),
98
+ suggest: PageSuggestSchema.optional(),
95
99
  })
96
100
  .meta({
97
101
  title: 'Fieldia page',
@@ -1 +1 @@
1
- {"version":3,"file":"page.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/page.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import * as z from 'zod';
2
+ /**
3
+ * A photo set (`"widget": "photos"` on a picture field of several photos, `multiple`): its settings in the node's
4
+ * `options`, beside a picture field's own (`camera`). The photos stand in the order a person puts them — dragged, a
5
+ * finger resting on one first on a phone, or moved with Alt and the arrow keys — the first the cover, marked so, which
6
+ * a list's card and a map's pin show (`cover: false` marks none: a clinic's before and after); each with its words
7
+ * under it where `captions` is true (`FileValue.caption`); each cropped and turned in place unless `edit` is false, to
8
+ * the shape `aspect` says, or one the person picks where it says none — the photo as it was kept beside the result
9
+ * (`FileValue.original`, with what was done, `FileValue.edit`) unless `keepOriginal` is false. How many it takes is
10
+ * the field's `maxFiles`, how large each its `maxSize`.
11
+ *
12
+ * { "field": "photos", "widget": "photos", "options": { "captions": true, "aspect": "4:3" } }
13
+ */
14
+ export declare const PhotosOptionsSchema: z.ZodObject<{
15
+ cover: z.ZodOptional<z.ZodBoolean>;
16
+ captions: z.ZodOptional<z.ZodBoolean>;
17
+ edit: z.ZodOptional<z.ZodBoolean>;
18
+ keepOriginal: z.ZodOptional<z.ZodBoolean>;
19
+ aspect: z.ZodOptional<z.ZodString>;
20
+ }, z.core.$strip>;
21
+ export type PhotosOptions = z.infer<typeof PhotosOptionsSchema>;
22
+ /** The issues of a photo set's settings, each at its path under `options`. */
23
+ export declare function photosOptionIssues(node: {
24
+ widget?: string;
25
+ options?: Record<string, unknown>;
26
+ }): {
27
+ message: string;
28
+ path: (string | number)[];
29
+ }[];
@@ -0,0 +1,29 @@
1
+ import * as z from 'zod';
2
+ /**
3
+ * A photo set (`"widget": "photos"` on a picture field of several photos, `multiple`): its settings in the node's
4
+ * `options`, beside a picture field's own (`camera`). The photos stand in the order a person puts them — dragged, a
5
+ * finger resting on one first on a phone, or moved with Alt and the arrow keys — the first the cover, marked so, which
6
+ * a list's card and a map's pin show (`cover: false` marks none: a clinic's before and after); each with its words
7
+ * under it where `captions` is true (`FileValue.caption`); each cropped and turned in place unless `edit` is false, to
8
+ * the shape `aspect` says, or one the person picks where it says none — the photo as it was kept beside the result
9
+ * (`FileValue.original`, with what was done, `FileValue.edit`) unless `keepOriginal` is false. How many it takes is
10
+ * the field's `maxFiles`, how large each its `maxSize`.
11
+ *
12
+ * { "field": "photos", "widget": "photos", "options": { "captions": true, "aspect": "4:3" } }
13
+ */
14
+ export declare const PhotosOptionsSchema: z.ZodObject<{
15
+ cover: z.ZodOptional<z.ZodBoolean>;
16
+ captions: z.ZodOptional<z.ZodBoolean>;
17
+ edit: z.ZodOptional<z.ZodBoolean>;
18
+ keepOriginal: z.ZodOptional<z.ZodBoolean>;
19
+ aspect: z.ZodOptional<z.ZodString>;
20
+ }, z.z.core.$strip>;
21
+ export type PhotosOptions = z.infer<typeof PhotosOptionsSchema>;
22
+ /** The issues of a photo set's settings, each at its path under `options`. */
23
+ export declare function photosOptionIssues(node: {
24
+ widget?: string;
25
+ options?: Record<string, unknown>;
26
+ }): {
27
+ message: string;
28
+ path: (string | number)[];
29
+ }[];
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PhotosOptionsSchema = void 0;
4
+ exports.photosOptionIssues = photosOptionIssues;
5
+ const z = require("zod");
6
+ /** A shape as people write it: its width and its height, "4:3", "16:9", "1:1". */
7
+ const ASPECT = /^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?)$/;
8
+ const SHAPE = 'aspect is a shape, its width and its height: "4:3", "16:9", "1:1" — no longer than five to one either way';
9
+ /**
10
+ * A photo set (`"widget": "photos"` on a picture field of several photos, `multiple`): its settings in the node's
11
+ * `options`, beside a picture field's own (`camera`). The photos stand in the order a person puts them — dragged, a
12
+ * finger resting on one first on a phone, or moved with Alt and the arrow keys — the first the cover, marked so, which
13
+ * a list's card and a map's pin show (`cover: false` marks none: a clinic's before and after); each with its words
14
+ * under it where `captions` is true (`FileValue.caption`); each cropped and turned in place unless `edit` is false, to
15
+ * the shape `aspect` says, or one the person picks where it says none — the photo as it was kept beside the result
16
+ * (`FileValue.original`, with what was done, `FileValue.edit`) unless `keepOriginal` is false. How many it takes is
17
+ * the field's `maxFiles`, how large each its `maxSize`.
18
+ *
19
+ * { "field": "photos", "widget": "photos", "options": { "captions": true, "aspect": "4:3" } }
20
+ */
21
+ exports.PhotosOptionsSchema = z
22
+ .object({
23
+ /** The first photo is the cover, marked so, with Make cover on the others: true unless said. */
24
+ cover: z.boolean().optional(),
25
+ /** A caption under each photo, typed by a person. */
26
+ captions: z.boolean().optional(),
27
+ /** Crop and turn on each photo: true unless said. */
28
+ edit: z.boolean().optional(),
29
+ /** The photo as it was kept beside one cropped or turned, to crop again from and to put back: true unless said. */
30
+ keepOriginal: z.boolean().optional(),
31
+ /** The shape every crop keeps; left out, the person picks one, or none. */
32
+ aspect: z
33
+ .string()
34
+ .refine((text) => {
35
+ const [, width, height] = ASPECT.exec(text) ?? [];
36
+ const ratio = Number(width) / Number(height);
37
+ return ratio >= 0.2 && ratio <= 5;
38
+ }, SHAPE)
39
+ .meta({ pattern: ASPECT.source })
40
+ .optional(),
41
+ })
42
+ .meta({ id: 'PhotosOptions' });
43
+ /** The issues of a photo set's settings, each at its path under `options`. */
44
+ function photosOptionIssues(node) {
45
+ if (node.widget !== 'photos')
46
+ return [];
47
+ return (exports.PhotosOptionsSchema.safeParse(node.options ?? {}).error?.issues ?? []).map((issue) => ({ message: issue.message, path: ['options', ...issue.path] }));
48
+ }
49
+ //# sourceMappingURL=photos-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"photos-options.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/photos-options.ts"],"names":[],"mappings":";;;AA4CA,gDAGC;AA/CD,yBAAyB;AAEzB,kFAAkF;AAClF,MAAM,MAAM,GAAG,mCAAmC,CAAC;AACnD,MAAM,KAAK,GAAG,2GAA2G,CAAC;AAE1H;;;;;;;;;;;GAWG;AACU,QAAA,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,gGAAgG;IAChG,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,qDAAqD;IACrD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,qDAAqD;IACrD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5B,mHAAmH;IACnH,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,2EAA2E;IAC3E,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC;IACpC,CAAC,EAAE,KAAK,CAAC;SACR,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;SAChC,QAAQ,EAAE;CACd,CAAC;KACD,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;AAIjC,8EAA8E;AAC9E,SAAgB,kBAAkB,CAAC,IAA4D;IAC7F,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,CAAC,2BAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAwB,EAAE,CAAC,CAAC,CAAC;AACvL,CAAC"}
@@ -0,0 +1,45 @@
1
+ import * as z from 'zod';
2
+ /** A shape as people write it: its width and its height, "4:3", "16:9", "1:1". */
3
+ const ASPECT = /^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?)$/;
4
+ const SHAPE = 'aspect is a shape, its width and its height: "4:3", "16:9", "1:1" — no longer than five to one either way';
5
+ /**
6
+ * A photo set (`"widget": "photos"` on a picture field of several photos, `multiple`): its settings in the node's
7
+ * `options`, beside a picture field's own (`camera`). The photos stand in the order a person puts them — dragged, a
8
+ * finger resting on one first on a phone, or moved with Alt and the arrow keys — the first the cover, marked so, which
9
+ * a list's card and a map's pin show (`cover: false` marks none: a clinic's before and after); each with its words
10
+ * under it where `captions` is true (`FileValue.caption`); each cropped and turned in place unless `edit` is false, to
11
+ * the shape `aspect` says, or one the person picks where it says none — the photo as it was kept beside the result
12
+ * (`FileValue.original`, with what was done, `FileValue.edit`) unless `keepOriginal` is false. How many it takes is
13
+ * the field's `maxFiles`, how large each its `maxSize`.
14
+ *
15
+ * { "field": "photos", "widget": "photos", "options": { "captions": true, "aspect": "4:3" } }
16
+ */
17
+ export const PhotosOptionsSchema = z
18
+ .object({
19
+ /** The first photo is the cover, marked so, with Make cover on the others: true unless said. */
20
+ cover: z.boolean().optional(),
21
+ /** A caption under each photo, typed by a person. */
22
+ captions: z.boolean().optional(),
23
+ /** Crop and turn on each photo: true unless said. */
24
+ edit: z.boolean().optional(),
25
+ /** The photo as it was kept beside one cropped or turned, to crop again from and to put back: true unless said. */
26
+ keepOriginal: z.boolean().optional(),
27
+ /** The shape every crop keeps; left out, the person picks one, or none. */
28
+ aspect: z
29
+ .string()
30
+ .refine((text) => {
31
+ const [, width, height] = ASPECT.exec(text) ?? [];
32
+ const ratio = Number(width) / Number(height);
33
+ return ratio >= 0.2 && ratio <= 5;
34
+ }, SHAPE)
35
+ .meta({ pattern: ASPECT.source })
36
+ .optional(),
37
+ })
38
+ .meta({ id: 'PhotosOptions' });
39
+ /** The issues of a photo set's settings, each at its path under `options`. */
40
+ export function photosOptionIssues(node) {
41
+ if (node.widget !== 'photos')
42
+ return [];
43
+ return (PhotosOptionsSchema.safeParse(node.options ?? {}).error?.issues ?? []).map((issue) => ({ message: issue.message, path: ['options', ...issue.path] }));
44
+ }
45
+ //# sourceMappingURL=photos-options.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"photos-options.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/format/photos-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,kFAAkF;AAClF,MAAM,MAAM,GAAG,mCAAmC,CAAC;AACnD,MAAM,KAAK,GAAG,2GAA2G,CAAC;AAE1H;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,gGAAgG;IAChG,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,qDAAqD;IACrD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,qDAAqD;IACrD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5B,mHAAmH;IACnH,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,2EAA2E;IAC3E,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC;IACpC,CAAC,EAAE,KAAK,CAAC;SACR,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;SAChC,QAAQ,EAAE;CACd,CAAC;KACD,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;AAIjC,8EAA8E;AAC9E,MAAM,UAAU,kBAAkB,CAAC,IAA4D;IAC7F,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAwB,EAAE,CAAC,CAAC,CAAC;AACvL,CAAC"}
@@ -95,6 +95,8 @@ export declare class ReferenceCheck {
95
95
  private checkLineForm;
96
96
  /** The form's moments: their steps checked, a change named by a field (or a saved form placed here, by its answers' name), a step or tab shown by its id. */
97
97
  private checkEvents;
98
+ /** The tools a menu's items are checked with: a button's menu's, the gear menu's. */
99
+ private menuTools;
98
100
  /** A press: steps, an app action, or both — and its steps checked; on a button drawn on the record (`drawn`, not a list's row's), the `{field}`s its words show. */
99
101
  private checkPress;
100
102
  /**
@@ -173,7 +175,7 @@ export declare class ReferenceCheck {
173
175
  private checkFormNode;
174
176
  private walkTabs;
175
177
  private walkSheet;
176
- /** A picker's own settings, on the kind of field each is for: a path on a link, Fieldia's own list on a choice, a button adding tags, a colour for each state. */
178
+ /** A picker's own settings, on the kind of field each is for: a path on a link, Fieldia's own list on a choice, a button adding tags, a colour for each state; a formatted text's Edit. */
177
179
  private checkPicker;
178
180
  private checkFieldNode;
179
181
  }
@@ -95,6 +95,8 @@ export declare class ReferenceCheck {
95
95
  private checkLineForm;
96
96
  /** The form's moments: their steps checked, a change named by a field (or a saved form placed here, by its answers' name), a step or tab shown by its id. */
97
97
  private checkEvents;
98
+ /** The tools a menu's items are checked with: a button's menu's, the gear menu's. */
99
+ private menuTools;
98
100
  /** A press: steps, an app action, or both — and its steps checked; on a button drawn on the record (`drawn`, not a list's row's), the `{field}`s its words show. */
99
101
  private checkPress;
100
102
  /**
@@ -173,7 +175,7 @@ export declare class ReferenceCheck {
173
175
  private checkFormNode;
174
176
  private walkTabs;
175
177
  private walkSheet;
176
- /** A picker's own settings, on the kind of field each is for: a path on a link, Fieldia's own list on a choice, a button adding tags, a colour for each state. */
178
+ /** A picker's own settings, on the kind of field each is for: a path on a link, Fieldia's own list on a choice, a button adding tags, a colour for each state; a formatted text's Edit. */
177
179
  private checkPicker;
178
180
  private checkFieldNode;
179
181
  }
@@ -17,16 +17,24 @@ const zones_1 = require("../record/zones");
17
17
  const messages_1 = require("../record/messages");
18
18
  const autofill_group_1 = require("./autofill-group");
19
19
  const limits_checks_1 = require("./limits-checks");
20
+ const approval_checks_1 = require("./approval-checks");
21
+ const languages_checks_1 = require("./languages-checks");
22
+ const languages_1 = require("../record/languages");
20
23
  const seats_checks_1 = require("./seats-checks");
21
24
  const list_checks_1 = require("./list-checks");
25
+ const editable_checks_1 = require("./editable-checks");
22
26
  const slots_checks_1 = require("./slots-checks");
23
27
  const signature_checks_1 = require("./signature-checks");
28
+ const assist_checks_1 = require("./assist-checks");
29
+ const scan_checks_1 = require("./scan-checks");
24
30
  const endings_checks_1 = require("./endings-checks");
25
31
  const map_checks_1 = require("./map-checks");
26
32
  const table_checks_1 = require("./table-checks");
27
33
  const statusbar_checks_1 = require("./statusbar-checks");
28
34
  const option_checks_1 = require("./option-checks");
29
35
  const has = (record, key) => Object.prototype.hasOwnProperty.call(record, key);
36
+ /** Whether a field, or a column of its table, is scanned into with the camera (`options.scan`). */
37
+ const scansAny = (node) => [node, ...Object.values(node.cells ?? {})].some((one) => one?.options?.['scan'] !== undefined);
30
38
  /** The kinds of field an expression can give a value to: the rest hold records, lines or files. */
31
39
  const EXPRESSIBLE = new Set(['char', 'text', 'html', 'integer', 'float', 'monetary', 'boolean', 'date', 'datetime', 'selection', 'json']);
32
40
  const EXPRESSIBLE_WORDS = 'text, numbers, yes or no, dates, choices and json can';
@@ -104,6 +112,15 @@ class ReferenceCheck {
104
112
  // A page's limits and Continue later: checked where it has either (in the one-tag script, by the limits part it asks for).
105
113
  if (!this.line && (this.page.limits !== undefined || this.page.continueLater !== undefined))
106
114
  (0, limits_checks_1.checkLimits)(this.page, { report: (path, message) => this.report(path, message), owe: (part) => this.later.add(part) });
115
+ // A record's approvals: checked where it has them (in the one-tag script, by the approvals part it asks for).
116
+ if (!this.line && this.page.approval !== undefined)
117
+ (0, approval_checks_1.checkApproval)(this.page, this.fieldTools());
118
+ // Texts kept in several languages: placed as words people type (in the one-tag script, by the languages part it asks for).
119
+ if ((0, languages_1.hasLanguages)(this.page))
120
+ (0, languages_checks_1.checkLanguages)(this.fieldTools());
121
+ // AI help's fill from text: in the one-tag script, its checks come with the assist part, which a page with it asks for.
122
+ if (this.page.suggest !== undefined && !this.line)
123
+ (0, assist_checks_1.checkSuggest)(this.page, this.fieldTools());
107
124
  this.checkGoingTo();
108
125
  return this.issues;
109
126
  }
@@ -190,6 +207,10 @@ class ReferenceCheck {
190
207
  this.checkSteps(steps, `${path}.show.${target}`);
191
208
  }
192
209
  }
210
+ /** The tools a menu's items are checked with: a button's menu's, the gear menu's. */
211
+ menuTools() {
212
+ return { claim: (id, at) => this.claim(id, at), report: (at, message) => this.report(at, message), checkModifiers: (owner, at, keys) => this.checkModifiers(owner, at, keys), checkSteps: (steps, at) => this.checkSteps(steps, at), owe: (part) => this.later.add(part) };
213
+ }
193
214
  /** A press: steps, an app action, or both — and its steps checked; on a button drawn on the record (`drawn`, not a list's row's), the `{field}`s its words show. */
194
215
  checkPress(button, path, drawn = false) {
195
216
  if (drawn && 'type' in button)
@@ -199,7 +220,7 @@ class ReferenceCheck {
199
220
  if (!button.steps && button.action === undefined && !menu)
200
221
  this.report(path, 'a button needs steps, an action, or both');
201
222
  if ('type' in button && button.type === 'button')
202
- (0, head_checks_1.checkButtonParts)(button, path, { claim: (id, at) => this.claim(id, at), report: (at, message) => this.report(at, message), checkModifiers: (owner, at, keys) => this.checkModifiers(owner, at, keys), checkSteps: (steps, at) => this.checkSteps(steps, at) });
223
+ (0, head_checks_1.checkButtonParts)(button, path, this.menuTools());
203
224
  const key = 'hotkey' in button ? button.hotkey : undefined;
204
225
  if (typeof key === 'string' && hotkeys_1.BROWSER_HOTKEYS.includes(key.replace('shift+', '')))
205
226
  this.report(`${path}.hotkey`, `${(0, hotkeys_1.hotkeyWords)(key)} is the browser’s own: pick another key`);
@@ -656,8 +677,12 @@ class ReferenceCheck {
656
677
  return this.walkSheet(root, path);
657
678
  if (root.type === 'sections')
658
679
  return this.walkChildren(root.children, path);
659
- if (root.type === 'list')
680
+ if (root.type === 'list') {
681
+ // Its cells changed in place: checked with the part that changes them.
682
+ if (root.editable)
683
+ (0, editable_checks_1.checkEditable)(root, path, this.fieldTools());
660
684
  return (0, list_checks_1.checkList)(root, path, this.listTools());
685
+ }
661
686
  // A wizard's own buttons' words, and each step's title and words, may show the answers given: "Your visit to {branch}".
662
687
  this.checkWords(root, path, ['nextLabel', 'backLabel', 'finishLabel']);
663
688
  root.children.forEach((step, i) => {
@@ -797,17 +822,7 @@ class ReferenceCheck {
797
822
  });
798
823
  });
799
824
  // The gear menu: buttons of the record, each doing something — its steps, an action, or a built-in — and named.
800
- sheet.toolbar?.menu?.forEach((item, i) => {
801
- const at = `${path}.toolbar.menu[${i}]`;
802
- this.claim(item.id, at);
803
- this.checkModifiers(item, at);
804
- if (!item.steps && item.action === undefined && !item.builtin)
805
- this.report(at, 'a menu item needs steps, an action, or a built-in');
806
- if (item.label === undefined && !item.builtin)
807
- this.report(`${at}.label`, 'a menu item needs words, unless it is a built-in');
808
- if (item.steps)
809
- this.checkSteps(item.steps, `${at}.steps`);
810
- });
825
+ sheet.toolbar?.menu?.forEach((item, i) => (0, head_checks_1.checkMenuItem)(item, `${path}.toolbar.menu[${i}]`, this.menuTools()));
811
826
  const preview = sheet.attachmentPreview;
812
827
  if (preview) {
813
828
  this.checkModifiers(preview, `${path}.attachmentPreview`);
@@ -821,7 +836,7 @@ class ReferenceCheck {
821
836
  this.checkModifiers(sheet.sidePanel, `${path}.sidePanel`);
822
837
  }
823
838
  }
824
- /** A picker's own settings, on the kind of field each is for: a path on a link, Fieldia's own list on a choice, a button adding tags, a colour for each state. */
839
+ /** A picker's own settings, on the kind of field each is for: a path on a link, Fieldia's own list on a choice, a button adding tags, a colour for each state; a formatted text's Edit. */
825
840
  checkPicker(node, def, path) {
826
841
  const options = node.options ?? {};
827
842
  if (node.widget === 'path' && def.type !== 'many2one')
@@ -832,6 +847,9 @@ class ReferenceCheck {
832
847
  const tags = (def.type === 'many2many' && (!node.widget || node.widget === 'tags') && !node.columns?.length) || (def.type === 'char' && node.widget === 'tags');
833
848
  if (options['adder'] !== undefined && !tags)
834
849
  this.report(`${path}.options.adder`, `adder is for tags: a many2many, or a char field drawn as tags; "${node.field}" is ${node.widget ? `a ${def.type} drawn as ${node.widget}` : `a ${def.type}`}`);
850
+ // A formatted text read first, changed from its Edit (a photo set's `edit` is its own: crop and turn).
851
+ if (def.type === 'html' && options['edit'] !== undefined && options['edit'] !== 'button')
852
+ this.report(`${path}.options.edit`, 'edit is "button": the text read first, changed from its Edit');
835
853
  const colours = options['colours'];
836
854
  if (node.widget === 'dot' && def.type === 'selection' && colours && typeof colours === 'object' && !Array.isArray(colours)) {
837
855
  const values = new Set(def.options.map((option) => String(option.value)));
@@ -895,8 +913,17 @@ class ReferenceCheck {
895
913
  this.report(`${path}.widget`, `signature is for a binary field; "${node.field}" is a ${def.type}`);
896
914
  else if (node.widget === 'signature')
897
915
  (0, signature_checks_1.checkSignature)(node, path, this.fieldTools());
916
+ // A text field's AI tools (`options.rewrite`), drawn by the assist part, whose checks come with it in the one-tag script.
917
+ if (node.options?.['rewrite'] !== undefined)
918
+ (0, assist_checks_1.checkRewrite)(node, def, path, this.fieldTools());
919
+ // A photo set is a picture field's of several photos: one photo has no order, no cover.
920
+ if (node.widget === 'photos' && def && (def.type !== 'image' || !def.multiple))
921
+ this.report(`${path}.widget`, `photos is for an image field of several photos (multiple); "${node.field}" is not one`);
898
922
  if (def)
899
923
  this.checkPicker(node, def, path);
924
+ // Scanned into with the camera — the field, or a table's columns: checked with the scan part's code, which draws it.
925
+ if (scansAny(node))
926
+ (0, scan_checks_1.checkScan)(node, def, path, this.fieldTools());
900
927
  // The order lines load in: fields of its lines.
901
928
  if (def && node.order && def.type !== 'one2many')
902
929
  this.report(`${path}.order`, `order only applies to one2many fields; "${node.field}" is a ${def.type}`);