@multiplatform.one/frappe-ui 7.6.3 → 7.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/dist/cjs/ChartCard.cjs +52 -0
  2. package/dist/cjs/ChartCard.native.js +72 -0
  3. package/dist/cjs/ChartCard.native.js.map +1 -0
  4. package/dist/cjs/FileBrowser/AttachLibrary.cjs +2 -2
  5. package/dist/cjs/FileBrowser/AttachLibrary.native.js +8 -2
  6. package/dist/cjs/FileBrowser/AttachLibrary.native.js.map +1 -1
  7. package/dist/cjs/FrappeChartCard.cjs +3 -3
  8. package/dist/cjs/FrappeChartCard.native.js +3 -3
  9. package/dist/cjs/FrappeChartCard.native.js.map +1 -1
  10. package/dist/cjs/FrappeDashboard.cjs +6 -27
  11. package/dist/cjs/FrappeDashboard.native.js +6 -33
  12. package/dist/cjs/FrappeDashboard.native.js.map +1 -1
  13. package/dist/cjs/FrappeImageView.cjs +2 -8
  14. package/dist/cjs/FrappeImageView.native.js +2 -9
  15. package/dist/cjs/FrappeImageView.native.js.map +1 -1
  16. package/dist/cjs/fields/CodeEditor/index.cjs +4 -0
  17. package/dist/cjs/fields/CodeEditor/index.native.js +4 -0
  18. package/dist/cjs/fields/CodeEditor/index.native.js.map +1 -1
  19. package/dist/cjs/fields/LinkTree.cjs +5 -3
  20. package/dist/cjs/fields/LinkTree.native.js +9 -5
  21. package/dist/cjs/fields/LinkTree.native.js.map +1 -1
  22. package/dist/cjs/formEngine/createPrefill.cjs +37 -0
  23. package/dist/cjs/formEngine/createPrefill.native.js +40 -0
  24. package/dist/cjs/formEngine/createPrefill.native.js.map +1 -0
  25. package/dist/cjs/formEngine/dirtyTracking.cjs +55 -0
  26. package/dist/cjs/formEngine/dirtyTracking.native.js +77 -0
  27. package/dist/cjs/formEngine/dirtyTracking.native.js.map +1 -0
  28. package/dist/cjs/formEngine/doctypeMeta.cjs +18 -0
  29. package/dist/cjs/formEngine/doctypeMeta.native.js +21 -0
  30. package/dist/cjs/formEngine/doctypeMeta.native.js.map +1 -0
  31. package/dist/cjs/formEngine/fetchFrom.cjs +67 -0
  32. package/dist/cjs/formEngine/fetchFrom.native.js +110 -0
  33. package/dist/cjs/formEngine/fetchFrom.native.js.map +1 -0
  34. package/dist/cjs/formEngine/fieldPermissions.cjs +55 -0
  35. package/dist/cjs/formEngine/fieldPermissions.native.js +80 -0
  36. package/dist/cjs/formEngine/fieldPermissions.native.js.map +1 -0
  37. package/dist/cjs/formEngine/formActions.cjs +189 -0
  38. package/dist/cjs/formEngine/formActions.native.js +199 -0
  39. package/dist/cjs/formEngine/formActions.native.js.map +1 -0
  40. package/dist/cjs/formEngine/formLayout.cjs +245 -0
  41. package/dist/cjs/formEngine/formLayout.native.js +388 -0
  42. package/dist/cjs/formEngine/formLayout.native.js.map +1 -0
  43. package/dist/cjs/formEngine/index.cjs +48 -0
  44. package/dist/cjs/formEngine/index.native.js +51 -0
  45. package/dist/cjs/formEngine/index.native.js.map +1 -0
  46. package/dist/cjs/formEngine/useFormEngine.cjs +387 -0
  47. package/dist/cjs/formEngine/useFormEngine.native.js +476 -0
  48. package/dist/cjs/formEngine/useFormEngine.native.js.map +1 -0
  49. package/dist/cjs/frappeStoryTarget.cjs +4 -2
  50. package/dist/cjs/frappeStoryTarget.native.js +4 -3
  51. package/dist/cjs/frappeStoryTarget.native.js.map +1 -1
  52. package/dist/cjs/index.cjs +19 -1
  53. package/dist/cjs/index.native.js +19 -1
  54. package/dist/cjs/index.native.js.map +1 -1
  55. package/dist/esm/ChartCard.mjs +27 -0
  56. package/dist/esm/ChartCard.mjs.map +1 -0
  57. package/dist/esm/ChartCard.native.js +33 -0
  58. package/dist/esm/ChartCard.native.js.map +1 -0
  59. package/dist/esm/FileBrowser/AttachLibrary.mjs +2 -2
  60. package/dist/esm/FileBrowser/AttachLibrary.mjs.map +1 -1
  61. package/dist/esm/FileBrowser/AttachLibrary.native.js +8 -2
  62. package/dist/esm/FileBrowser/AttachLibrary.native.js.map +1 -1
  63. package/dist/esm/FrappeChartCard.mjs +1 -1
  64. package/dist/esm/FrappeChartCard.native.js +1 -1
  65. package/dist/esm/FrappeChartCard.native.js.map +1 -1
  66. package/dist/esm/FrappeDashboard.mjs +6 -27
  67. package/dist/esm/FrappeDashboard.mjs.map +1 -1
  68. package/dist/esm/FrappeDashboard.native.js +6 -33
  69. package/dist/esm/FrappeDashboard.native.js.map +1 -1
  70. package/dist/esm/FrappeImageView.mjs +2 -7
  71. package/dist/esm/FrappeImageView.mjs.map +1 -1
  72. package/dist/esm/FrappeImageView.native.js +2 -8
  73. package/dist/esm/FrappeImageView.native.js.map +1 -1
  74. package/dist/esm/fields/CodeEditor/index.mjs +4 -0
  75. package/dist/esm/fields/CodeEditor/index.mjs.map +1 -1
  76. package/dist/esm/fields/CodeEditor/index.native.js +4 -0
  77. package/dist/esm/fields/CodeEditor/index.native.js.map +1 -1
  78. package/dist/esm/fields/LinkTree.mjs +5 -3
  79. package/dist/esm/fields/LinkTree.mjs.map +1 -1
  80. package/dist/esm/fields/LinkTree.native.js +9 -5
  81. package/dist/esm/fields/LinkTree.native.js.map +1 -1
  82. package/dist/esm/formEngine/createPrefill.mjs +11 -0
  83. package/dist/esm/formEngine/createPrefill.mjs.map +1 -0
  84. package/dist/esm/formEngine/createPrefill.native.js +11 -0
  85. package/dist/esm/formEngine/createPrefill.native.js.map +1 -0
  86. package/dist/esm/formEngine/dirtyTracking.mjs +28 -0
  87. package/dist/esm/formEngine/dirtyTracking.mjs.map +1 -0
  88. package/dist/esm/formEngine/dirtyTracking.native.js +47 -0
  89. package/dist/esm/formEngine/dirtyTracking.native.js.map +1 -0
  90. package/dist/esm/formEngine/doctypeMeta.mjs +2 -0
  91. package/dist/esm/formEngine/doctypeMeta.mjs.map +1 -0
  92. package/dist/esm/formEngine/doctypeMeta.native.js +2 -0
  93. package/dist/esm/formEngine/doctypeMeta.native.js.map +1 -0
  94. package/dist/esm/formEngine/fetchFrom.mjs +40 -0
  95. package/dist/esm/formEngine/fetchFrom.mjs.map +1 -0
  96. package/dist/esm/formEngine/fetchFrom.native.js +80 -0
  97. package/dist/esm/formEngine/fetchFrom.native.js.map +1 -0
  98. package/dist/esm/formEngine/fieldPermissions.mjs +28 -0
  99. package/dist/esm/formEngine/fieldPermissions.mjs.map +1 -0
  100. package/dist/esm/formEngine/fieldPermissions.native.js +50 -0
  101. package/dist/esm/formEngine/fieldPermissions.native.js.map +1 -0
  102. package/dist/esm/formEngine/formActions.mjs +146 -0
  103. package/dist/esm/formEngine/formActions.mjs.map +1 -0
  104. package/dist/esm/formEngine/formActions.native.js +153 -0
  105. package/dist/esm/formEngine/formActions.native.js.map +1 -0
  106. package/dist/esm/formEngine/formLayout.mjs +217 -0
  107. package/dist/esm/formEngine/formLayout.mjs.map +1 -0
  108. package/dist/esm/formEngine/formLayout.native.js +357 -0
  109. package/dist/esm/formEngine/formLayout.native.js.map +1 -0
  110. package/dist/esm/formEngine/index.mjs +8 -0
  111. package/dist/esm/formEngine/index.mjs.map +1 -0
  112. package/dist/esm/formEngine/index.native.js +8 -0
  113. package/dist/esm/formEngine/index.native.js.map +1 -0
  114. package/dist/esm/formEngine/useFormEngine.mjs +362 -0
  115. package/dist/esm/formEngine/useFormEngine.mjs.map +1 -0
  116. package/dist/esm/formEngine/useFormEngine.native.js +448 -0
  117. package/dist/esm/formEngine/useFormEngine.native.js.map +1 -0
  118. package/dist/esm/frappeStoryTarget.mjs +4 -1
  119. package/dist/esm/frappeStoryTarget.mjs.map +1 -1
  120. package/dist/esm/frappeStoryTarget.native.js +4 -2
  121. package/dist/esm/frappeStoryTarget.native.js.map +1 -1
  122. package/dist/esm/index.mjs +4 -2
  123. package/dist/esm/index.mjs.map +1 -1
  124. package/dist/esm/index.native.js +4 -2
  125. package/dist/esm/index.native.js.map +1 -1
  126. package/dist/jsx/ChartCard.mjs +27 -0
  127. package/dist/jsx/ChartCard.mjs.map +1 -0
  128. package/dist/jsx/ChartCard.native.js +72 -0
  129. package/dist/jsx/ChartCard.native.js.map +1 -0
  130. package/dist/jsx/FileBrowser/AttachLibrary.mjs +2 -2
  131. package/dist/jsx/FileBrowser/AttachLibrary.mjs.map +1 -1
  132. package/dist/jsx/FileBrowser/AttachLibrary.native.js +8 -2
  133. package/dist/jsx/FileBrowser/AttachLibrary.native.js.map +1 -1
  134. package/dist/jsx/FrappeChartCard.mjs +1 -1
  135. package/dist/jsx/FrappeChartCard.native.js +3 -3
  136. package/dist/jsx/FrappeChartCard.native.js.map +1 -1
  137. package/dist/jsx/FrappeDashboard.mjs +6 -27
  138. package/dist/jsx/FrappeDashboard.mjs.map +1 -1
  139. package/dist/jsx/FrappeDashboard.native.js +6 -33
  140. package/dist/jsx/FrappeDashboard.native.js.map +1 -1
  141. package/dist/jsx/FrappeImageView.mjs +2 -7
  142. package/dist/jsx/FrappeImageView.mjs.map +1 -1
  143. package/dist/jsx/FrappeImageView.native.js +2 -9
  144. package/dist/jsx/FrappeImageView.native.js.map +1 -1
  145. package/dist/jsx/fields/CodeEditor/index.mjs +4 -0
  146. package/dist/jsx/fields/CodeEditor/index.mjs.map +1 -1
  147. package/dist/jsx/fields/CodeEditor/index.native.js +4 -0
  148. package/dist/jsx/fields/CodeEditor/index.native.js.map +1 -1
  149. package/dist/jsx/fields/LinkTree.mjs +5 -3
  150. package/dist/jsx/fields/LinkTree.mjs.map +1 -1
  151. package/dist/jsx/fields/LinkTree.native.js +9 -5
  152. package/dist/jsx/fields/LinkTree.native.js.map +1 -1
  153. package/dist/jsx/formEngine/createPrefill.mjs +11 -0
  154. package/dist/jsx/formEngine/createPrefill.mjs.map +1 -0
  155. package/dist/jsx/formEngine/createPrefill.native.js +40 -0
  156. package/dist/jsx/formEngine/createPrefill.native.js.map +1 -0
  157. package/dist/jsx/formEngine/dirtyTracking.mjs +28 -0
  158. package/dist/jsx/formEngine/dirtyTracking.mjs.map +1 -0
  159. package/dist/jsx/formEngine/dirtyTracking.native.js +77 -0
  160. package/dist/jsx/formEngine/dirtyTracking.native.js.map +1 -0
  161. package/dist/jsx/formEngine/doctypeMeta.mjs +2 -0
  162. package/dist/jsx/formEngine/doctypeMeta.mjs.map +1 -0
  163. package/dist/jsx/formEngine/doctypeMeta.native.js +21 -0
  164. package/dist/jsx/formEngine/doctypeMeta.native.js.map +1 -0
  165. package/dist/jsx/formEngine/fetchFrom.mjs +40 -0
  166. package/dist/jsx/formEngine/fetchFrom.mjs.map +1 -0
  167. package/dist/jsx/formEngine/fetchFrom.native.js +110 -0
  168. package/dist/jsx/formEngine/fetchFrom.native.js.map +1 -0
  169. package/dist/jsx/formEngine/fieldPermissions.mjs +28 -0
  170. package/dist/jsx/formEngine/fieldPermissions.mjs.map +1 -0
  171. package/dist/jsx/formEngine/fieldPermissions.native.js +80 -0
  172. package/dist/jsx/formEngine/fieldPermissions.native.js.map +1 -0
  173. package/dist/jsx/formEngine/formActions.mjs +146 -0
  174. package/dist/jsx/formEngine/formActions.mjs.map +1 -0
  175. package/dist/jsx/formEngine/formActions.native.js +199 -0
  176. package/dist/jsx/formEngine/formActions.native.js.map +1 -0
  177. package/dist/jsx/formEngine/formLayout.mjs +217 -0
  178. package/dist/jsx/formEngine/formLayout.mjs.map +1 -0
  179. package/dist/jsx/formEngine/formLayout.native.js +388 -0
  180. package/dist/jsx/formEngine/formLayout.native.js.map +1 -0
  181. package/dist/jsx/formEngine/index.mjs +8 -0
  182. package/dist/jsx/formEngine/index.mjs.map +1 -0
  183. package/dist/jsx/formEngine/index.native.js +51 -0
  184. package/dist/jsx/formEngine/index.native.js.map +1 -0
  185. package/dist/jsx/formEngine/useFormEngine.mjs +362 -0
  186. package/dist/jsx/formEngine/useFormEngine.mjs.map +1 -0
  187. package/dist/jsx/formEngine/useFormEngine.native.js +476 -0
  188. package/dist/jsx/formEngine/useFormEngine.native.js.map +1 -0
  189. package/dist/jsx/frappeStoryTarget.mjs +4 -1
  190. package/dist/jsx/frappeStoryTarget.mjs.map +1 -1
  191. package/dist/jsx/frappeStoryTarget.native.js +4 -3
  192. package/dist/jsx/frappeStoryTarget.native.js.map +1 -1
  193. package/dist/jsx/index.js +4 -2
  194. package/dist/jsx/index.js.map +1 -1
  195. package/dist/jsx/index.mjs +4 -2
  196. package/dist/jsx/index.mjs.map +1 -1
  197. package/dist/jsx/index.native.js +19 -1
  198. package/dist/jsx/index.native.js.map +1 -1
  199. package/package.json +23 -17
  200. package/src/ChartCard.tsx +31 -0
  201. package/src/FileBrowser/AttachLibrary.tsx +13 -1
  202. package/src/FileBrowser/FileBrowser.spec.tsx +16 -0
  203. package/src/FileBrowser/FileBrowser.stories.tsx +18 -1
  204. package/src/FileBrowser/folderTree.spec.tsx +68 -0
  205. package/src/FrappeCalendar.stories.tsx +1 -2
  206. package/src/FrappeChartCard.stories.tsx +1 -1
  207. package/src/FrappeChartCard.tsx +1 -1
  208. package/src/FrappeDashboard.stories.tsx +6 -5
  209. package/src/FrappeDashboard.tsx +6 -33
  210. package/src/FrappeGantt.stories.tsx +1 -2
  211. package/src/FrappeImageView.tsx +16 -15
  212. package/src/FrappeList.stories.tsx +3 -10
  213. package/src/classicScriptSafety.spec.ts +47 -0
  214. package/src/components/attachments.stories.tsx +9 -2
  215. package/src/dependsOn.ts +2 -2
  216. package/src/desk/DeskFormSidebar.stories.tsx +19 -1
  217. package/src/fields/CodeEditor/CodeEditor.spec.tsx +37 -0
  218. package/src/fields/CodeEditor/CodeEditor.stories.tsx +83 -66
  219. package/src/fields/CodeEditor/index.tsx +4 -0
  220. package/src/fields/DateRange/DateRange.spec.tsx +143 -0
  221. package/src/fields/FileUpload.spec.tsx +334 -0
  222. package/src/fields/FileUploadField/FileUploadField.spec.tsx +166 -0
  223. package/src/fields/HTML/Html.spec.tsx +179 -0
  224. package/src/fields/Icon/Icon.stories.tsx +138 -0
  225. package/src/fields/Link.stories.tsx +2 -0
  226. package/src/fields/LinkTree.tsx +18 -3
  227. package/src/fields/LongText/LongText.spec.tsx +217 -0
  228. package/src/fields/OTPInput/OTPInput.spec.tsx +167 -0
  229. package/src/fields/Password/Password.stories.tsx +21 -0
  230. package/src/fields/Phone/Phone.spec.tsx +151 -0
  231. package/src/fields/Progress/Progress.spec.tsx +160 -0
  232. package/src/fields/ReadOnly/ReadOnly.spec.tsx +229 -0
  233. package/src/fields/SmallText/SmallText.spec.tsx +175 -0
  234. package/src/fields/shared/EditorPreviewPanes.spec.tsx +122 -0
  235. package/src/formEngine/createPrefill.ts +28 -0
  236. package/src/formEngine/dirtyTracking.spec.ts +91 -0
  237. package/src/formEngine/dirtyTracking.ts +64 -0
  238. package/src/formEngine/doctypeMeta.ts +117 -0
  239. package/src/formEngine/fetchFrom.spec.ts +92 -0
  240. package/src/formEngine/fetchFrom.ts +111 -0
  241. package/src/formEngine/fieldPermissions.spec.ts +61 -0
  242. package/src/formEngine/fieldPermissions.ts +68 -0
  243. package/src/formEngine/formActions.ts +285 -0
  244. package/src/formEngine/formLayout.spec.ts +373 -0
  245. package/src/formEngine/formLayout.ts +392 -0
  246. package/src/formEngine/index.ts +33 -0
  247. package/src/formEngine/seam.spec.ts +148 -0
  248. package/src/formEngine/useFormEngine.ts +496 -0
  249. package/src/frappeRemainder.designLaw.spec.ts +9 -0
  250. package/src/frappeStoryTarget.tsx +25 -9
  251. package/src/frappeViews.designLaw.spec.ts +1 -0
  252. package/src/index.spec.ts +7 -3
  253. package/src/index.ts +51 -1
  254. package/src/schemaForm/SchemaForm.spec.tsx +4 -1
  255. package/types/ChartCard.d.ts +13 -0
  256. package/types/ChartCard.d.ts.map +1 -0
  257. package/types/FileBrowser/AttachLibrary.d.ts.map +1 -1
  258. package/types/FrappeDashboard.d.ts +2 -10
  259. package/types/FrappeDashboard.d.ts.map +1 -1
  260. package/types/FrappeImageView.d.ts.map +1 -1
  261. package/types/dependsOn.d.ts +2 -2
  262. package/types/fields/CodeEditor/index.d.ts.map +1 -1
  263. package/types/fields/LinkTree.d.ts.map +1 -1
  264. package/types/formEngine/createPrefill.d.ts +19 -0
  265. package/types/formEngine/createPrefill.d.ts.map +1 -0
  266. package/types/formEngine/dirtyTracking.d.ts +36 -0
  267. package/types/formEngine/dirtyTracking.d.ts.map +1 -0
  268. package/types/formEngine/doctypeMeta.d.ts +117 -0
  269. package/types/formEngine/doctypeMeta.d.ts.map +1 -0
  270. package/types/formEngine/fetchFrom.d.ts +43 -0
  271. package/types/formEngine/fetchFrom.d.ts.map +1 -0
  272. package/types/formEngine/fieldPermissions.d.ts +38 -0
  273. package/types/formEngine/fieldPermissions.d.ts.map +1 -0
  274. package/types/formEngine/formActions.d.ts +95 -0
  275. package/types/formEngine/formActions.d.ts.map +1 -0
  276. package/types/formEngine/formLayout.d.ts +91 -0
  277. package/types/formEngine/formLayout.d.ts.map +1 -0
  278. package/types/formEngine/index.d.ts +27 -0
  279. package/types/formEngine/index.d.ts.map +1 -0
  280. package/types/formEngine/useFormEngine.d.ts +61 -0
  281. package/types/formEngine/useFormEngine.d.ts.map +1 -0
  282. package/types/frappeStoryTarget.d.ts +2 -2
  283. package/types/frappeStoryTarget.d.ts.map +1 -1
  284. package/types/index.d.ts +4 -1
  285. package/types/index.d.ts.map +1 -1
@@ -0,0 +1,245 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var formLayout_exports = {};
24
+ __export(formLayout_exports, {
25
+ buildCopyValues: () => buildCopyValues,
26
+ buildCreateDefaults: () => buildCreateDefaults,
27
+ buildFormTabs: () => buildFormTabs,
28
+ isPromptNamed: () => isPromptNamed
29
+ });
30
+ module.exports = __toCommonJS(formLayout_exports);
31
+ var import_theme = require("@multiplatform.one/theme");
32
+ var import_dependsOn = require("../dependsOn.cjs");
33
+ var import_fieldPermissions = require("./fieldPermissions.cjs");
34
+ var import_fetchFrom = require("./fetchFrom.cjs");
35
+ function splitIntoTabs(fields) {
36
+ const tabs = [];
37
+ let currentTab = {
38
+ key: "__details",
39
+ sections: []
40
+ };
41
+ let currentSection = {
42
+ columns: [{
43
+ fields: []
44
+ }]
45
+ };
46
+ currentTab.sections.push(currentSection);
47
+ tabs.push(currentTab);
48
+ for (const field of fields) {
49
+ switch (field.fieldtype) {
50
+ case "Tab Break":
51
+ currentTab = {
52
+ key: field.fieldname,
53
+ label: field.label,
54
+ sections: []
55
+ };
56
+ currentSection = {
57
+ columns: [{
58
+ fields: []
59
+ }]
60
+ };
61
+ currentTab.sections.push(currentSection);
62
+ tabs.push(currentTab);
63
+ break;
64
+ case "Section Break":
65
+ currentSection = {
66
+ breakField: field,
67
+ columns: [{
68
+ fields: []
69
+ }]
70
+ };
71
+ currentTab.sections.push(currentSection);
72
+ break;
73
+ case "Column Break":
74
+ currentSection.columns.push({
75
+ fields: []
76
+ });
77
+ break;
78
+ default:
79
+ currentSection.columns[currentSection.columns.length - 1].fields.push(field);
80
+ break;
81
+ }
82
+ }
83
+ return tabs;
84
+ }
85
+ function isFieldVisible(field, doc, permLevels) {
86
+ if (field.hidden) return false;
87
+ if (!(0, import_fieldPermissions.canReadLevel)(permLevels, field.permlevel ?? 0)) return false;
88
+ return (0, import_dependsOn.evaluateDependsOn)(field.depends_on, doc, true);
89
+ }
90
+ function toFieldSchema(field, doc, options) {
91
+ const required = !!field.reqd || !!field.mandatory_depends_on && (0, import_dependsOn.evaluateDependsOn)(field.mandatory_depends_on, doc, false);
92
+ let readOnly = !!field.read_only || !!field.read_only_depends_on && (0, import_dependsOn.evaluateDependsOn)(field.read_only_depends_on, doc, false) || !(0, import_fieldPermissions.canWriteLevel)(options.permLevels, field.permlevel ?? 0);
93
+ if (field.set_only_once && !options.isCreate) readOnly = true;
94
+ if (!readOnly && (0, import_fetchFrom.isFetchLocked)(field, doc)) readOnly = true;
95
+ if (options.docstatus === 1 && !field.allow_on_submit) readOnly = true;
96
+ if (options.docstatus === 2) readOnly = true;
97
+ if (options.formReadOnly) readOnly = true;
98
+ return {
99
+ type: field.fieldtype,
100
+ name: field.fieldname,
101
+ label: field.label,
102
+ options: field.options,
103
+ description: field.description,
104
+ required,
105
+ readOnly,
106
+ precision: field.precision !== void 0 && field.precision !== null && field.precision !== "" ? Number(field.precision) : void 0,
107
+ maxLength: field.length !== void 0 && field.length !== null && Number(field.length) > 0 ? Number(field.length) : void 0,
108
+ // depends_on intentionally NOT forwarded — visibility resolved here.
109
+ fieldtype: field.fieldtype,
110
+ fieldname: field.fieldname,
111
+ in_list_view: field.in_list_view,
112
+ in_standard_filter: field.in_standard_filter
113
+ };
114
+ }
115
+ function resolveSectionCollapsed(breakField, sectionFields, doc) {
116
+ if (!breakField?.collapsible) return void 0;
117
+ let collapsed = true;
118
+ if (breakField.collapsible_depends_on) {
119
+ collapsed = !(0, import_dependsOn.evaluateDependsOn)(breakField.collapsible_depends_on, doc, true);
120
+ }
121
+ if (collapsed && sectionHasMissingMandatory(sectionFields, doc)) collapsed = false;
122
+ return collapsed;
123
+ }
124
+ function sectionHasMissingMandatory(fields, doc) {
125
+ return fields.some(field => !!field.reqd && doc[field.fieldname] == null);
126
+ }
127
+ function buildFormTabs(options) {
128
+ const {
129
+ fields,
130
+ doc,
131
+ detailsLabel,
132
+ permLevels
133
+ } = options;
134
+ const hiddenFieldSet = new Set(options.hiddenFields ?? []);
135
+ const hiddenSectionSet = new Set(options.hiddenSections ?? []);
136
+ const sectionHidden = (breakField, label) => {
137
+ if (hiddenSectionSet.size === 0) return false;
138
+ if (breakField && hiddenSectionSet.has(breakField.fieldname)) return true;
139
+ const resolvedLabel = breakField?.label ?? label;
140
+ return !!resolvedLabel && hiddenSectionSet.has(resolvedLabel);
141
+ };
142
+ const layoutTabs = splitIntoTabs(fields);
143
+ const tabs = [];
144
+ for (const layoutTab of layoutTabs) {
145
+ const tabBreak = fields.find(field => field.fieldtype === "Tab Break" && field.fieldname === layoutTab.key);
146
+ if (tabBreak && !isFieldVisible(tabBreak, doc, permLevels)) continue;
147
+ if (sectionHidden(tabBreak, layoutTab.label)) continue;
148
+ const sections = [];
149
+ const flatFields = [];
150
+ for (const section of layoutTab.sections) {
151
+ if (section.breakField && !isFieldVisible(section.breakField, doc)) continue;
152
+ if (sectionHidden(section.breakField)) continue;
153
+ const columns = section.columns.map(column => ({
154
+ fields: column.fields.filter(field => !hiddenFieldSet.has(field.fieldname) && isFieldVisible(field, doc, permLevels)).map(field => toFieldSchema(field, doc, options))
155
+ })).filter(column => column.fields.length > 0);
156
+ if (columns.length === 0) continue;
157
+ for (const column of columns) flatFields.push(...column.fields);
158
+ const sectionFields = section.columns.flatMap(column => column.fields);
159
+ sections.push({
160
+ label: section.breakField?.label,
161
+ description: section.breakField?.description,
162
+ collapsible: !!section.breakField?.collapsible,
163
+ collapsed: resolveSectionCollapsed(section.breakField, sectionFields, doc),
164
+ hideBorder: !!section.breakField?.hide_border,
165
+ columns
166
+ });
167
+ }
168
+ if (sections.length === 0) continue;
169
+ tabs.push({
170
+ key: layoutTab.key,
171
+ label: layoutTab.label || detailsLabel,
172
+ schema: {
173
+ sections,
174
+ fields: flatFields
175
+ }
176
+ });
177
+ }
178
+ return tabs;
179
+ }
180
+ const LAYOUT_TYPES = /* @__PURE__ */new Set(["Section Break", "Column Break", "Tab Break", "Fold"]);
181
+ const NUMERIC_TYPES = /* @__PURE__ */new Set(["Int", "Float", "Currency", "Percent", "Check", "Rating"]);
182
+ const todayISO = () => (0, import_theme.formatCalendarDate)(/* @__PURE__ */new Date());
183
+ const nowTime = () => (0, import_theme.formatCalendarDate)(/* @__PURE__ */new Date(), "time");
184
+ function buildCreateDefaults(fields, currentUser) {
185
+ const doc = {};
186
+ for (const field of fields) {
187
+ if (LAYOUT_TYPES.has(field.fieldtype)) continue;
188
+ const raw = field.default;
189
+ if (raw === void 0 || raw === null || raw === "") {
190
+ if (field.fieldtype === "Select" && typeof field.options === "string" && field.options && !["[Select]", "Loading..."].includes(field.options)) {
191
+ doc[field.fieldname] = field.options.split("\n")[0];
192
+ }
193
+ continue;
194
+ }
195
+ if (raw === "Today") {
196
+ doc[field.fieldname] = todayISO();
197
+ continue;
198
+ }
199
+ if (raw.toLowerCase() === "now") {
200
+ doc[field.fieldname] = field.fieldtype === "Time" ? nowTime() : `${todayISO()} ${nowTime()}`;
201
+ continue;
202
+ }
203
+ if (raw === "__user" || raw.toLowerCase() === "user" && (field.fieldtype === "Link" || field.fieldtype === "Data")) {
204
+ if (currentUser) doc[field.fieldname] = currentUser;
205
+ continue;
206
+ }
207
+ if (raw === "user_fullname") continue;
208
+ if (raw.startsWith(":") || raw.startsWith("frappe.")) continue;
209
+ doc[field.fieldname] = NUMERIC_TYPES.has(field.fieldtype) ? Number(raw) || 0 : raw;
210
+ }
211
+ return doc;
212
+ }
213
+ function buildCopyValues(fields, doc) {
214
+ const copy = {};
215
+ for (const field of fields) {
216
+ if (LAYOUT_TYPES.has(field.fieldtype)) continue;
217
+ if (field.no_copy) continue;
218
+ if (field.fieldtype === "Attach" || field.fieldtype === "Attach Image") continue;
219
+ const value = doc[field.fieldname];
220
+ if (value === void 0 || value === null || value === "") continue;
221
+ if (field.fieldtype === "Table" || field.fieldtype === "Table MultiSelect") {
222
+ if (Array.isArray(value)) {
223
+ copy[field.fieldname] = value.map(row => {
224
+ const {
225
+ name: _name,
226
+ parent: _parent,
227
+ parentfield: _parentfield,
228
+ parenttype: _parenttype,
229
+ creation: _creation,
230
+ modified: _modified,
231
+ ...rest
232
+ } = row ?? {};
233
+ return rest;
234
+ });
235
+ }
236
+ continue;
237
+ }
238
+ copy[field.fieldname] = value;
239
+ }
240
+ return copy;
241
+ }
242
+ function isPromptNamed(autoname, namingRule) {
243
+ if (namingRule === 'By "Prompt"') return true;
244
+ return (autoname ?? "").toLowerCase() === "prompt";
245
+ }
@@ -0,0 +1,388 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var formLayout_exports = {};
26
+ __export(formLayout_exports, {
27
+ buildCopyValues: () => buildCopyValues,
28
+ buildCreateDefaults: () => buildCreateDefaults,
29
+ buildFormTabs: () => buildFormTabs,
30
+ isPromptNamed: () => isPromptNamed
31
+ });
32
+ module.exports = __toCommonJS(formLayout_exports);
33
+ var import_theme = require("@multiplatform.one/theme");
34
+ var import_dependsOn = require("../dependsOn.native.js");
35
+ var import_fieldPermissions = require("./fieldPermissions.native.js");
36
+ var import_fetchFrom = require("./fetchFrom.native.js");
37
+ function splitIntoTabs(fields) {
38
+ var tabs = [];
39
+ var currentTab = {
40
+ key: "__details",
41
+ sections: []
42
+ };
43
+ var currentSection = {
44
+ columns: [{
45
+ fields: []
46
+ }]
47
+ };
48
+ currentTab.sections.push(currentSection);
49
+ tabs.push(currentTab);
50
+ var _iteratorNormalCompletion = true,
51
+ _didIteratorError = false,
52
+ _iteratorError = void 0;
53
+ try {
54
+ for (var _iterator = fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
55
+ var field = _step.value;
56
+ switch (field.fieldtype) {
57
+ case "Tab Break":
58
+ currentTab = {
59
+ key: field.fieldname,
60
+ label: field.label,
61
+ sections: []
62
+ };
63
+ currentSection = {
64
+ columns: [{
65
+ fields: []
66
+ }]
67
+ };
68
+ currentTab.sections.push(currentSection);
69
+ tabs.push(currentTab);
70
+ break;
71
+ case "Section Break":
72
+ currentSection = {
73
+ breakField: field,
74
+ columns: [{
75
+ fields: []
76
+ }]
77
+ };
78
+ currentTab.sections.push(currentSection);
79
+ break;
80
+ case "Column Break":
81
+ currentSection.columns.push({
82
+ fields: []
83
+ });
84
+ break;
85
+ default:
86
+ currentSection.columns[currentSection.columns.length - 1].fields.push(field);
87
+ break;
88
+ }
89
+ }
90
+ } catch (err) {
91
+ _didIteratorError = true;
92
+ _iteratorError = err;
93
+ } finally {
94
+ try {
95
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
96
+ _iterator.return();
97
+ }
98
+ } finally {
99
+ if (_didIteratorError) {
100
+ throw _iteratorError;
101
+ }
102
+ }
103
+ }
104
+ return tabs;
105
+ }
106
+ function isFieldVisible(field, doc, permLevels) {
107
+ var _field_permlevel;
108
+ if (field.hidden) return false;
109
+ if (!(0, import_fieldPermissions.canReadLevel)(permLevels, (_field_permlevel = field.permlevel) !== null && _field_permlevel !== void 0 ? _field_permlevel : 0)) return false;
110
+ return (0, import_dependsOn.evaluateDependsOn)(field.depends_on, doc, true);
111
+ }
112
+ function toFieldSchema(field, doc, options) {
113
+ var _field_permlevel;
114
+ var required = !!field.reqd || !!field.mandatory_depends_on && (0, import_dependsOn.evaluateDependsOn)(field.mandatory_depends_on, doc, false);
115
+ var readOnly = !!field.read_only || !!field.read_only_depends_on && (0, import_dependsOn.evaluateDependsOn)(field.read_only_depends_on, doc, false) || !(0, import_fieldPermissions.canWriteLevel)(options.permLevels, (_field_permlevel = field.permlevel) !== null && _field_permlevel !== void 0 ? _field_permlevel : 0);
116
+ if (field.set_only_once && !options.isCreate) readOnly = true;
117
+ if (!readOnly && (0, import_fetchFrom.isFetchLocked)(field, doc)) readOnly = true;
118
+ if (options.docstatus === 1 && !field.allow_on_submit) readOnly = true;
119
+ if (options.docstatus === 2) readOnly = true;
120
+ if (options.formReadOnly) readOnly = true;
121
+ return {
122
+ type: field.fieldtype,
123
+ name: field.fieldname,
124
+ label: field.label,
125
+ options: field.options,
126
+ description: field.description,
127
+ required,
128
+ readOnly,
129
+ precision: field.precision !== void 0 && field.precision !== null && field.precision !== "" ? Number(field.precision) : void 0,
130
+ maxLength: field.length !== void 0 && field.length !== null && Number(field.length) > 0 ? Number(field.length) : void 0,
131
+ // depends_on intentionally NOT forwarded — visibility resolved here.
132
+ fieldtype: field.fieldtype,
133
+ fieldname: field.fieldname,
134
+ in_list_view: field.in_list_view,
135
+ in_standard_filter: field.in_standard_filter
136
+ };
137
+ }
138
+ function resolveSectionCollapsed(breakField, sectionFields, doc) {
139
+ if (!(breakField === null || breakField === void 0 ? void 0 : breakField.collapsible)) return void 0;
140
+ var collapsed = true;
141
+ if (breakField.collapsible_depends_on) {
142
+ collapsed = !(0, import_dependsOn.evaluateDependsOn)(breakField.collapsible_depends_on, doc, true);
143
+ }
144
+ if (collapsed && sectionHasMissingMandatory(sectionFields, doc)) collapsed = false;
145
+ return collapsed;
146
+ }
147
+ function sectionHasMissingMandatory(fields, doc) {
148
+ return fields.some(function (field) {
149
+ return !!field.reqd && doc[field.fieldname] == null;
150
+ });
151
+ }
152
+ function buildFormTabs(options) {
153
+ var _options_hiddenFields, _options_hiddenSections;
154
+ var {
155
+ fields,
156
+ doc,
157
+ detailsLabel,
158
+ permLevels
159
+ } = options;
160
+ var hiddenFieldSet = new Set((_options_hiddenFields = options.hiddenFields) !== null && _options_hiddenFields !== void 0 ? _options_hiddenFields : []);
161
+ var hiddenSectionSet = new Set((_options_hiddenSections = options.hiddenSections) !== null && _options_hiddenSections !== void 0 ? _options_hiddenSections : []);
162
+ var sectionHidden = function sectionHidden2(breakField, label) {
163
+ var _ref;
164
+ if (hiddenSectionSet.size === 0) return false;
165
+ if (breakField && hiddenSectionSet.has(breakField.fieldname)) return true;
166
+ var resolvedLabel = (_ref = breakField === null || breakField === void 0 ? void 0 : breakField.label) !== null && _ref !== void 0 ? _ref : label;
167
+ return !!resolvedLabel && hiddenSectionSet.has(resolvedLabel);
168
+ };
169
+ var layoutTabs = splitIntoTabs(fields);
170
+ var tabs = [];
171
+ var _iteratorNormalCompletion = true,
172
+ _didIteratorError = false,
173
+ _iteratorError = void 0;
174
+ try {
175
+ var _loop = function () {
176
+ var layoutTab = _step.value;
177
+ var tabBreak = fields.find(function (field) {
178
+ return field.fieldtype === "Tab Break" && field.fieldname === layoutTab.key;
179
+ });
180
+ if (tabBreak && !isFieldVisible(tabBreak, doc, permLevels)) return "continue";
181
+ if (sectionHidden(tabBreak, layoutTab.label)) return "continue";
182
+ var sections = [];
183
+ var flatFields = [];
184
+ var _iteratorNormalCompletion2 = true,
185
+ _didIteratorError2 = false,
186
+ _iteratorError2 = void 0;
187
+ try {
188
+ for (var _iterator2 = layoutTab.sections[Symbol.iterator](), _step1; !(_iteratorNormalCompletion2 = (_step1 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
189
+ var section = _step1.value;
190
+ var _section_breakField, _section_breakField1, _section_breakField2, _section_breakField3;
191
+ if (section.breakField && !isFieldVisible(section.breakField, doc)) continue;
192
+ if (sectionHidden(section.breakField)) continue;
193
+ var columns = section.columns.map(function (column2) {
194
+ return {
195
+ fields: column2.fields.filter(function (field) {
196
+ return !hiddenFieldSet.has(field.fieldname) && isFieldVisible(field, doc, permLevels);
197
+ }).map(function (field) {
198
+ return toFieldSchema(field, doc, options);
199
+ })
200
+ };
201
+ }).filter(function (column2) {
202
+ return column2.fields.length > 0;
203
+ });
204
+ if (columns.length === 0) continue;
205
+ var _iteratorNormalCompletion1 = true,
206
+ _didIteratorError1 = false,
207
+ _iteratorError1 = void 0;
208
+ try {
209
+ for (var _iterator1 = columns[Symbol.iterator](), _step2; !(_iteratorNormalCompletion1 = (_step2 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
210
+ var column = _step2.value;
211
+ flatFields.push(...column.fields);
212
+ }
213
+ } catch (err) {
214
+ _didIteratorError1 = true;
215
+ _iteratorError1 = err;
216
+ } finally {
217
+ try {
218
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
219
+ _iterator1.return();
220
+ }
221
+ } finally {
222
+ if (_didIteratorError1) {
223
+ throw _iteratorError1;
224
+ }
225
+ }
226
+ }
227
+ var sectionFields = section.columns.flatMap(function (column2) {
228
+ return column2.fields;
229
+ });
230
+ sections.push({
231
+ label: (_section_breakField = section.breakField) === null || _section_breakField === void 0 ? void 0 : _section_breakField.label,
232
+ description: (_section_breakField1 = section.breakField) === null || _section_breakField1 === void 0 ? void 0 : _section_breakField1.description,
233
+ collapsible: !!((_section_breakField2 = section.breakField) === null || _section_breakField2 === void 0 ? void 0 : _section_breakField2.collapsible),
234
+ collapsed: resolveSectionCollapsed(section.breakField, sectionFields, doc),
235
+ hideBorder: !!((_section_breakField3 = section.breakField) === null || _section_breakField3 === void 0 ? void 0 : _section_breakField3.hide_border),
236
+ columns
237
+ });
238
+ }
239
+ } catch (err) {
240
+ _didIteratorError2 = true;
241
+ _iteratorError2 = err;
242
+ } finally {
243
+ try {
244
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
245
+ _iterator2.return();
246
+ }
247
+ } finally {
248
+ if (_didIteratorError2) {
249
+ throw _iteratorError2;
250
+ }
251
+ }
252
+ }
253
+ if (sections.length === 0) return "continue";
254
+ tabs.push({
255
+ key: layoutTab.key,
256
+ label: layoutTab.label || detailsLabel,
257
+ schema: {
258
+ sections,
259
+ fields: flatFields
260
+ }
261
+ });
262
+ };
263
+ for (var _iterator = layoutTabs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
264
+ } catch (err) {
265
+ _didIteratorError = true;
266
+ _iteratorError = err;
267
+ } finally {
268
+ try {
269
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
270
+ _iterator.return();
271
+ }
272
+ } finally {
273
+ if (_didIteratorError) {
274
+ throw _iteratorError;
275
+ }
276
+ }
277
+ }
278
+ return tabs;
279
+ }
280
+ var LAYOUT_TYPES = /* @__PURE__ */new Set(["Section Break", "Column Break", "Tab Break", "Fold"]);
281
+ var NUMERIC_TYPES = /* @__PURE__ */new Set(["Int", "Float", "Currency", "Percent", "Check", "Rating"]);
282
+ var todayISO = function todayISO2() {
283
+ return (0, import_theme.formatCalendarDate)(/* @__PURE__ */new Date());
284
+ };
285
+ var nowTime = function nowTime2() {
286
+ return (0, import_theme.formatCalendarDate)(/* @__PURE__ */new Date(), "time");
287
+ };
288
+ function buildCreateDefaults(fields, currentUser) {
289
+ var doc = {};
290
+ var _iteratorNormalCompletion = true,
291
+ _didIteratorError = false,
292
+ _iteratorError = void 0;
293
+ try {
294
+ for (var _iterator = fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
295
+ var field = _step.value;
296
+ if (LAYOUT_TYPES.has(field.fieldtype)) continue;
297
+ var raw = field.default;
298
+ if (raw === void 0 || raw === null || raw === "") {
299
+ if (field.fieldtype === "Select" && typeof field.options === "string" && field.options && !["[Select]", "Loading..."].includes(field.options)) {
300
+ doc[field.fieldname] = field.options.split("\n")[0];
301
+ }
302
+ continue;
303
+ }
304
+ if (raw === "Today") {
305
+ doc[field.fieldname] = todayISO();
306
+ continue;
307
+ }
308
+ if (raw.toLowerCase() === "now") {
309
+ doc[field.fieldname] = field.fieldtype === "Time" ? nowTime() : `${todayISO()} ${nowTime()}`;
310
+ continue;
311
+ }
312
+ if (raw === "__user" || raw.toLowerCase() === "user" && (field.fieldtype === "Link" || field.fieldtype === "Data")) {
313
+ if (currentUser) doc[field.fieldname] = currentUser;
314
+ continue;
315
+ }
316
+ if (raw === "user_fullname") continue;
317
+ if (raw.startsWith(":") || raw.startsWith("frappe.")) continue;
318
+ doc[field.fieldname] = NUMERIC_TYPES.has(field.fieldtype) ? Number(raw) || 0 : raw;
319
+ }
320
+ } catch (err) {
321
+ _didIteratorError = true;
322
+ _iteratorError = err;
323
+ } finally {
324
+ try {
325
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
326
+ _iterator.return();
327
+ }
328
+ } finally {
329
+ if (_didIteratorError) {
330
+ throw _iteratorError;
331
+ }
332
+ }
333
+ }
334
+ return doc;
335
+ }
336
+ function buildCopyValues(fields, doc) {
337
+ var copy = {};
338
+ var _iteratorNormalCompletion = true,
339
+ _didIteratorError = false,
340
+ _iteratorError = void 0;
341
+ try {
342
+ for (var _iterator = fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
343
+ var field = _step.value;
344
+ if (LAYOUT_TYPES.has(field.fieldtype)) continue;
345
+ if (field.no_copy) continue;
346
+ if (field.fieldtype === "Attach" || field.fieldtype === "Attach Image") continue;
347
+ var value = doc[field.fieldname];
348
+ if (value === void 0 || value === null || value === "") continue;
349
+ if (field.fieldtype === "Table" || field.fieldtype === "Table MultiSelect") {
350
+ if (Array.isArray(value)) {
351
+ copy[field.fieldname] = value.map(function (row) {
352
+ var {
353
+ name: _name,
354
+ parent: _parent,
355
+ parentfield: _parentfield,
356
+ parenttype: _parenttype,
357
+ creation: _creation,
358
+ modified: _modified,
359
+ ...rest
360
+ } = row !== null && row !== void 0 ? row : {};
361
+ return rest;
362
+ });
363
+ }
364
+ continue;
365
+ }
366
+ copy[field.fieldname] = value;
367
+ }
368
+ } catch (err) {
369
+ _didIteratorError = true;
370
+ _iteratorError = err;
371
+ } finally {
372
+ try {
373
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
374
+ _iterator.return();
375
+ }
376
+ } finally {
377
+ if (_didIteratorError) {
378
+ throw _iteratorError;
379
+ }
380
+ }
381
+ }
382
+ return copy;
383
+ }
384
+ function isPromptNamed(autoname, namingRule) {
385
+ if (namingRule === 'By "Prompt"') return true;
386
+ return (autoname !== null && autoname !== void 0 ? autoname : "").toLowerCase() === "prompt";
387
+ }
388
+ //# sourceMappingURL=formLayout.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","formLayout_exports","__export","buildCopyValues","buildCreateDefaults","buildFormTabs","isPromptNamed","module","exports","import_theme","require","import_dependsOn","import_fieldPermissions","import_fetchFrom","splitIntoTabs","fields","tabs","currentTab","key","sections","currentSection","columns","push","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","field","fieldtype","fieldname","label","breakField","length","err","return","isFieldVisible","doc","permLevels","_field_permlevel","hidden","canReadLevel","permlevel","evaluateDependsOn","depends_on","toFieldSchema","options","required","reqd","mandatory_depends_on","readOnly","read_only","read_only_depends_on","canWriteLevel","set_only_once","isCreate","isFetchLocked","docstatus","allow_on_submit","formReadOnly","type","name","description","precision","Number","maxLength","in_list_view","in_standard_filter","resolveSectionCollapsed","sectionFields","collapsible","collapsed","collapsible_depends_on","sectionHasMissingMandatory","some","_options_hiddenFields","_options_hiddenSections","detailsLabel","hiddenFieldSet","Set","hiddenFields","hiddenSectionSet","hiddenSections","sectionHidden","sectionHidden2","_ref","size","has","resolvedLabel","layoutTabs","_loop","layoutTab","tabBreak","find","flatFields","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step1","section","_section_breakField","_section_breakField1","_section_breakField2","_section_breakField3","map","column2","filter","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step2","column","flatMap"],"sources":["../../../src/formEngine/formLayout.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}