@multiplatform.one/frappe-ui 7.22.0 → 7.23.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 (210) hide show
  1. package/README.md +14 -0
  2. package/dist/cjs/FrappeForm.cjs +96 -52
  3. package/dist/cjs/FrappeForm.native.js +103 -52
  4. package/dist/cjs/FrappeForm.native.js.map +1 -1
  5. package/dist/cjs/FrappeFormActions.cjs +161 -0
  6. package/dist/cjs/FrappeFormActions.native.js +167 -0
  7. package/dist/cjs/FrappeFormActions.native.js.map +1 -0
  8. package/dist/cjs/FrappeTable.cjs +42 -13
  9. package/dist/cjs/FrappeTable.native.js +55 -19
  10. package/dist/cjs/FrappeTable.native.js.map +1 -1
  11. package/dist/cjs/desk/DeskFormPage.cjs +2 -1
  12. package/dist/cjs/desk/DeskFormPage.native.js +3 -0
  13. package/dist/cjs/desk/DeskFormPage.native.js.map +1 -1
  14. package/dist/cjs/filterFields.cjs +277 -34
  15. package/dist/cjs/filterFields.native.js +311 -36
  16. package/dist/cjs/filterFields.native.js.map +1 -1
  17. package/dist/cjs/formEngine/docLifecycle.cjs +98 -0
  18. package/dist/cjs/formEngine/docLifecycle.native.js +131 -0
  19. package/dist/cjs/formEngine/docLifecycle.native.js.map +1 -0
  20. package/dist/cjs/formEngine/useAmendedAs.cjs +48 -0
  21. package/dist/cjs/formEngine/useAmendedAs.native.js +60 -0
  22. package/dist/cjs/formEngine/useAmendedAs.native.js.map +1 -0
  23. package/dist/cjs/formEngine/useDocRights.cjs +2 -2
  24. package/dist/cjs/formEngine/useDocRights.native.js +2 -2
  25. package/dist/cjs/formEngine/useDocRights.native.js.map +1 -1
  26. package/dist/cjs/formEngine/useFormEngine.cjs +1 -0
  27. package/dist/cjs/formEngine/useFormEngine.native.js +1 -0
  28. package/dist/cjs/formEngine/useFormEngine.native.js.map +1 -1
  29. package/dist/cjs/index.cjs +30 -1
  30. package/dist/cjs/index.native.js +30 -1
  31. package/dist/cjs/index.native.js.map +1 -1
  32. package/dist/cjs/list/listColumns.cjs +397 -0
  33. package/dist/cjs/list/listColumns.native.js +447 -0
  34. package/dist/cjs/list/listColumns.native.js.map +1 -0
  35. package/dist/cjs/list/listFields.cjs +50 -0
  36. package/dist/cjs/list/listFields.native.js +79 -0
  37. package/dist/cjs/list/listFields.native.js.map +1 -0
  38. package/dist/cjs/list/listFormat.cjs +68 -0
  39. package/dist/cjs/list/listFormat.native.js +74 -0
  40. package/dist/cjs/list/listFormat.native.js.map +1 -0
  41. package/dist/cjs/list/statusColors.cjs +102 -0
  42. package/dist/cjs/list/statusColors.native.js +109 -0
  43. package/dist/cjs/list/statusColors.native.js.map +1 -0
  44. package/dist/esm/FrappeForm.mjs +97 -53
  45. package/dist/esm/FrappeForm.mjs.map +1 -1
  46. package/dist/esm/FrappeForm.native.js +104 -53
  47. package/dist/esm/FrappeForm.native.js.map +1 -1
  48. package/dist/esm/FrappeFormActions.mjs +136 -0
  49. package/dist/esm/FrappeFormActions.mjs.map +1 -0
  50. package/dist/esm/FrappeFormActions.native.js +139 -0
  51. package/dist/esm/FrappeFormActions.native.js.map +1 -0
  52. package/dist/esm/FrappeTable.mjs +42 -13
  53. package/dist/esm/FrappeTable.mjs.map +1 -1
  54. package/dist/esm/FrappeTable.native.js +55 -19
  55. package/dist/esm/FrappeTable.native.js.map +1 -1
  56. package/dist/esm/desk/DeskFormPage.mjs +2 -1
  57. package/dist/esm/desk/DeskFormPage.mjs.map +1 -1
  58. package/dist/esm/desk/DeskFormPage.native.js +3 -0
  59. package/dist/esm/desk/DeskFormPage.native.js.map +1 -1
  60. package/dist/esm/filterFields.mjs +263 -34
  61. package/dist/esm/filterFields.mjs.map +1 -1
  62. package/dist/esm/filterFields.native.js +297 -36
  63. package/dist/esm/filterFields.native.js.map +1 -1
  64. package/dist/esm/formEngine/docLifecycle.mjs +68 -0
  65. package/dist/esm/formEngine/docLifecycle.mjs.map +1 -0
  66. package/dist/esm/formEngine/docLifecycle.native.js +98 -0
  67. package/dist/esm/formEngine/docLifecycle.native.js.map +1 -0
  68. package/dist/esm/formEngine/useAmendedAs.mjs +23 -0
  69. package/dist/esm/formEngine/useAmendedAs.mjs.map +1 -0
  70. package/dist/esm/formEngine/useAmendedAs.native.js +32 -0
  71. package/dist/esm/formEngine/useAmendedAs.native.js.map +1 -0
  72. package/dist/esm/formEngine/useDocRights.mjs +2 -2
  73. package/dist/esm/formEngine/useDocRights.mjs.map +1 -1
  74. package/dist/esm/formEngine/useDocRights.native.js +2 -2
  75. package/dist/esm/formEngine/useDocRights.native.js.map +1 -1
  76. package/dist/esm/formEngine/useFormEngine.mjs +1 -1
  77. package/dist/esm/formEngine/useFormEngine.mjs.map +1 -1
  78. package/dist/esm/formEngine/useFormEngine.native.js +1 -1
  79. package/dist/esm/formEngine/useFormEngine.native.js.map +1 -1
  80. package/dist/esm/index.mjs +6 -2
  81. package/dist/esm/index.mjs.map +1 -1
  82. package/dist/esm/index.native.js +6 -2
  83. package/dist/esm/index.native.js.map +1 -1
  84. package/dist/esm/list/listColumns.mjs +372 -0
  85. package/dist/esm/list/listColumns.mjs.map +1 -0
  86. package/dist/esm/list/listColumns.native.js +419 -0
  87. package/dist/esm/list/listColumns.native.js.map +1 -0
  88. package/dist/esm/list/listFields.mjs +23 -0
  89. package/dist/esm/list/listFields.mjs.map +1 -0
  90. package/dist/esm/list/listFields.native.js +49 -0
  91. package/dist/esm/list/listFields.native.js.map +1 -0
  92. package/dist/esm/list/listFormat.mjs +38 -0
  93. package/dist/esm/list/listFormat.mjs.map +1 -0
  94. package/dist/esm/list/listFormat.native.js +41 -0
  95. package/dist/esm/list/listFormat.native.js.map +1 -0
  96. package/dist/esm/list/statusColors.mjs +77 -0
  97. package/dist/esm/list/statusColors.mjs.map +1 -0
  98. package/dist/esm/list/statusColors.native.js +81 -0
  99. package/dist/esm/list/statusColors.native.js.map +1 -0
  100. package/dist/jsx/FrappeForm.mjs +97 -53
  101. package/dist/jsx/FrappeForm.mjs.map +1 -1
  102. package/dist/jsx/FrappeForm.native.js +103 -52
  103. package/dist/jsx/FrappeForm.native.js.map +1 -1
  104. package/dist/jsx/FrappeFormActions.mjs +136 -0
  105. package/dist/jsx/FrappeFormActions.mjs.map +1 -0
  106. package/dist/jsx/FrappeFormActions.native.js +167 -0
  107. package/dist/jsx/FrappeFormActions.native.js.map +1 -0
  108. package/dist/jsx/FrappeTable.mjs +42 -13
  109. package/dist/jsx/FrappeTable.mjs.map +1 -1
  110. package/dist/jsx/FrappeTable.native.js +55 -19
  111. package/dist/jsx/FrappeTable.native.js.map +1 -1
  112. package/dist/jsx/desk/DeskFormPage.mjs +2 -1
  113. package/dist/jsx/desk/DeskFormPage.mjs.map +1 -1
  114. package/dist/jsx/desk/DeskFormPage.native.js +3 -0
  115. package/dist/jsx/desk/DeskFormPage.native.js.map +1 -1
  116. package/dist/jsx/filterFields.mjs +263 -34
  117. package/dist/jsx/filterFields.mjs.map +1 -1
  118. package/dist/jsx/filterFields.native.js +311 -36
  119. package/dist/jsx/filterFields.native.js.map +1 -1
  120. package/dist/jsx/formEngine/docLifecycle.mjs +68 -0
  121. package/dist/jsx/formEngine/docLifecycle.mjs.map +1 -0
  122. package/dist/jsx/formEngine/docLifecycle.native.js +131 -0
  123. package/dist/jsx/formEngine/docLifecycle.native.js.map +1 -0
  124. package/dist/jsx/formEngine/useAmendedAs.mjs +23 -0
  125. package/dist/jsx/formEngine/useAmendedAs.mjs.map +1 -0
  126. package/dist/jsx/formEngine/useAmendedAs.native.js +60 -0
  127. package/dist/jsx/formEngine/useAmendedAs.native.js.map +1 -0
  128. package/dist/jsx/formEngine/useDocRights.mjs +2 -2
  129. package/dist/jsx/formEngine/useDocRights.mjs.map +1 -1
  130. package/dist/jsx/formEngine/useDocRights.native.js +2 -2
  131. package/dist/jsx/formEngine/useDocRights.native.js.map +1 -1
  132. package/dist/jsx/formEngine/useFormEngine.mjs +1 -1
  133. package/dist/jsx/formEngine/useFormEngine.mjs.map +1 -1
  134. package/dist/jsx/formEngine/useFormEngine.native.js +1 -0
  135. package/dist/jsx/formEngine/useFormEngine.native.js.map +1 -1
  136. package/dist/jsx/index.js +6 -2
  137. package/dist/jsx/index.js.map +1 -1
  138. package/dist/jsx/index.mjs +6 -2
  139. package/dist/jsx/index.mjs.map +1 -1
  140. package/dist/jsx/index.native.js +30 -1
  141. package/dist/jsx/index.native.js.map +1 -1
  142. package/dist/jsx/list/listColumns.mjs +372 -0
  143. package/dist/jsx/list/listColumns.mjs.map +1 -0
  144. package/dist/jsx/list/listColumns.native.js +447 -0
  145. package/dist/jsx/list/listColumns.native.js.map +1 -0
  146. package/dist/jsx/list/listFields.mjs +23 -0
  147. package/dist/jsx/list/listFields.mjs.map +1 -0
  148. package/dist/jsx/list/listFields.native.js +79 -0
  149. package/dist/jsx/list/listFields.native.js.map +1 -0
  150. package/dist/jsx/list/listFormat.mjs +38 -0
  151. package/dist/jsx/list/listFormat.mjs.map +1 -0
  152. package/dist/jsx/list/listFormat.native.js +74 -0
  153. package/dist/jsx/list/listFormat.native.js.map +1 -0
  154. package/dist/jsx/list/statusColors.mjs +77 -0
  155. package/dist/jsx/list/statusColors.mjs.map +1 -0
  156. package/dist/jsx/list/statusColors.native.js +109 -0
  157. package/dist/jsx/list/statusColors.native.js.map +1 -0
  158. package/package.json +22 -16
  159. package/src/FrappeForm.deskSemantics.spec.tsx +1 -1
  160. package/src/FrappeForm.lifecycle.spec.tsx +463 -0
  161. package/src/FrappeForm.lifecycle.stories.tsx +84 -0
  162. package/src/FrappeForm.tsx +124 -84
  163. package/src/FrappeFormActions.tsx +216 -0
  164. package/src/FrappeTable.defaultColumns.spec.tsx +229 -0
  165. package/src/FrappeTable.tsx +79 -32
  166. package/src/desk/DeskFormPage.tsx +1 -0
  167. package/src/filterFields.spec.ts +57 -2
  168. package/src/filterFields.ts +365 -38
  169. package/src/formEngine/docLifecycle.spec.ts +195 -0
  170. package/src/formEngine/docLifecycle.ts +148 -0
  171. package/src/formEngine/useAmendedAs.ts +38 -0
  172. package/src/formEngine/useDocRights.ts +11 -3
  173. package/src/formEngine/useFormEngine.ts +1 -1
  174. package/src/frappeViews.designLaw.spec.ts +6 -0
  175. package/src/index.ts +47 -1
  176. package/src/list/listColumns.tsx +488 -0
  177. package/src/list/listFields.spec.ts +147 -0
  178. package/src/list/listFields.ts +68 -0
  179. package/src/list/listFormat.spec.ts +151 -0
  180. package/src/list/listFormat.ts +80 -0
  181. package/src/list/seam.spec.ts +116 -0
  182. package/src/list/statusColors.spec.ts +100 -0
  183. package/src/list/statusColors.ts +94 -0
  184. package/types/FrappeForm.d.ts +13 -3
  185. package/types/FrappeForm.d.ts.map +1 -1
  186. package/types/FrappeFormActions.d.ts +36 -0
  187. package/types/FrappeFormActions.d.ts.map +1 -0
  188. package/types/FrappeTable.d.ts +11 -5
  189. package/types/FrappeTable.d.ts.map +1 -1
  190. package/types/desk/DeskFormPage.d.ts.map +1 -1
  191. package/types/filterFields.d.ts +81 -10
  192. package/types/filterFields.d.ts.map +1 -1
  193. package/types/formEngine/docLifecycle.d.ts +59 -0
  194. package/types/formEngine/docLifecycle.d.ts.map +1 -0
  195. package/types/formEngine/useAmendedAs.d.ts +9 -0
  196. package/types/formEngine/useAmendedAs.d.ts.map +1 -0
  197. package/types/formEngine/useDocRights.d.ts +1 -1
  198. package/types/formEngine/useDocRights.d.ts.map +1 -1
  199. package/types/formEngine/useFormEngine.d.ts +1 -0
  200. package/types/formEngine/useFormEngine.d.ts.map +1 -1
  201. package/types/index.d.ts +5 -1
  202. package/types/index.d.ts.map +1 -1
  203. package/types/list/listColumns.d.ts +41 -0
  204. package/types/list/listColumns.d.ts.map +1 -0
  205. package/types/list/listFields.d.ts +16 -0
  206. package/types/list/listFields.d.ts.map +1 -0
  207. package/types/list/listFormat.d.ts +30 -0
  208. package/types/list/listFormat.d.ts.map +1 -0
  209. package/types/list/statusColors.d.ts +14 -0
  210. package/types/list/statusColors.d.ts.map +1 -0
@@ -24,31 +24,102 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
24
24
  }), mod);
25
25
  var filterFields_exports = {};
26
26
  __export(filterFields_exports, {
27
- docFieldsToFilterFields: () => docFieldsToFilterFields
27
+ DESK_OPERATOR_LABELS: () => DESK_OPERATOR_LABELS,
28
+ defaultOperatorForKind: () => defaultOperatorForKind,
29
+ docFieldsToFilterFields: () => docFieldsToFilterFields,
30
+ draftToTuple: () => draftToTuple,
31
+ fieldKind: () => fieldKind,
32
+ fieldLabelFor: () => fieldLabelFor,
33
+ filterTupleLabel: () => filterTupleLabel,
34
+ filterableFieldsFromMeta: () => filterableFieldsFromMeta,
35
+ operatorsForKind: () => operatorsForKind,
36
+ quickFilterValue: () => quickFilterValue,
37
+ selectOptionsFromField: () => selectOptionsFromField,
38
+ setFieldFilter: () => setFieldFilter,
39
+ standardDocFilterFields: () => standardDocFilterFields,
40
+ standardFiltersFromMeta: () => standardFiltersFromMeta,
41
+ tupleToDraft: () => tupleToDraft
28
42
  });
29
43
  module.exports = __toCommonJS(filterFields_exports);
30
44
  var import_table = require("@multiplatform.one/table");
31
45
  var import_fieldRegistry = require("./fieldRegistry.native.js");
32
46
  var NON_FILTERABLE_FIELDTYPES = /* @__PURE__ */new Set(["Section Break", "Column Break", "Tab Break", "Fold", "Heading", "HTML", "Button", "Image", "Attach", "Attach Image", "Signature", "Geolocation", "Password"]);
33
- var STANDARD_DOC_FIELDS = [{
34
- id: "name",
35
- label: "ID",
36
- type: "text"
37
- }, {
38
- id: "owner",
39
- label: "Created By",
40
- type: "text"
41
- }, {
42
- id: "creation",
43
- label: "Created On",
44
- type: "date"
45
- }, {
46
- id: "modified",
47
- label: "Last Updated On",
48
- type: "date"
49
- }];
50
- function docFieldsToFilterFields(fields) {
51
- var mapped = [];
47
+ var NUMBER_FIELDTYPES = /* @__PURE__ */new Set(["Int", "Float", "Currency", "Percent", "Duration", "Rating"]);
48
+ var DATE_FIELDTYPES = /* @__PURE__ */new Set(["Date", "Datetime", "Time"]);
49
+ function fieldKind(fieldtype) {
50
+ if (fieldtype === "Select") return "select";
51
+ if (fieldtype === "Link") return "link";
52
+ if (fieldtype === "Check") return "check";
53
+ if (DATE_FIELDTYPES.has(fieldtype)) return "date";
54
+ if (NUMBER_FIELDTYPES.has(fieldtype)) return "number";
55
+ return "text";
56
+ }
57
+ function toDescriptor(field) {
58
+ return {
59
+ fieldname: field.fieldname,
60
+ label: field.label || field.fieldname,
61
+ fieldtype: field.fieldtype,
62
+ kind: fieldKind(field.fieldtype),
63
+ options: field.options
64
+ };
65
+ }
66
+ function standardDocFilterFields() {
67
+ return [{
68
+ fieldname: "name",
69
+ label: "ID",
70
+ fieldtype: "Data",
71
+ kind: "text"
72
+ }, {
73
+ fieldname: "owner",
74
+ label: "Created By",
75
+ fieldtype: "Link",
76
+ kind: "link",
77
+ options: "User"
78
+ }, {
79
+ fieldname: "creation",
80
+ label: "Created On",
81
+ fieldtype: "Datetime",
82
+ kind: "date"
83
+ }, {
84
+ fieldname: "modified",
85
+ label: "Last Updated On",
86
+ fieldtype: "Datetime",
87
+ kind: "date"
88
+ }, {
89
+ fieldname: "modified_by",
90
+ label: "Last Updated By",
91
+ fieldtype: "Link",
92
+ kind: "link",
93
+ options: "User"
94
+ },
95
+ // Desk `_` facet columns — the sidebar facets and heart column write
96
+ // tuples on these, so chips and the editor must label them (desk offers
97
+ // them in its filter field picker too). Never surface the raw
98
+ // underscore fieldname (no-raw-fieldname rule candidate).
99
+ {
100
+ fieldname: "_assign",
101
+ label: "Assigned To",
102
+ fieldtype: "Data",
103
+ kind: "text"
104
+ }, {
105
+ fieldname: "_user_tags",
106
+ label: "Tags",
107
+ fieldtype: "Data",
108
+ kind: "text"
109
+ }, {
110
+ fieldname: "_liked_by",
111
+ label: "Liked By",
112
+ fieldtype: "Data",
113
+ kind: "text"
114
+ }, {
115
+ fieldname: "_comments",
116
+ label: "Comments",
117
+ fieldtype: "Data",
118
+ kind: "text"
119
+ }];
120
+ }
121
+ function filterableDescriptors(fields) {
122
+ var out = [];
52
123
  var seen = /* @__PURE__ */new Set();
53
124
  var _iteratorNormalCompletion = true,
54
125
  _didIteratorError = false,
@@ -56,23 +127,11 @@ function docFieldsToFilterFields(fields) {
56
127
  try {
57
128
  for (var _iterator = fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
58
129
  var field = _step.value;
59
- var _tableField_fieldProps;
60
130
  if (!field.fieldname || seen.has(field.fieldname)) continue;
61
131
  var fieldtype = String(field.fieldtype);
62
132
  if (NON_FILTERABLE_FIELDTYPES.has(fieldtype) || fieldtype.startsWith("Table")) continue;
63
- var tableField = (0, import_fieldRegistry.fieldtypeToTableField)(fieldtype, field.options);
64
- var options = (_tableField_fieldProps = tableField.fieldProps) === null || _tableField_fieldProps === void 0 ? void 0 : _tableField_fieldProps.options;
65
133
  seen.add(field.fieldname);
66
- mapped.push({
67
- id: field.fieldname,
68
- label: field.label || field.fieldname,
69
- // Rating cells map to a custom render (fraction contract) which would
70
- // otherwise fall through to "text"; it filters as the number it is.
71
- type: fieldtype === "Rating" ? "number" : (0, import_table.mapFieldToFilterType)(tableField.field),
72
- ...(options ? {
73
- options
74
- } : {})
75
- });
134
+ out.push(toDescriptor(field));
76
135
  }
77
136
  } catch (err) {
78
137
  _didIteratorError = true;
@@ -92,9 +151,9 @@ function docFieldsToFilterFields(fields) {
92
151
  _didIteratorError1 = false,
93
152
  _iteratorError1 = void 0;
94
153
  try {
95
- for (var _iterator1 = STANDARD_DOC_FIELDS[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
154
+ for (var _iterator1 = standardDocFilterFields()[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
96
155
  var standard = _step1.value;
97
- if (!seen.has(standard.id)) mapped.push(standard);
156
+ if (!seen.has(standard.fieldname)) out.push(standard);
98
157
  }
99
158
  } catch (err) {
100
159
  _didIteratorError1 = true;
@@ -110,6 +169,222 @@ function docFieldsToFilterFields(fields) {
110
169
  }
111
170
  }
112
171
  }
113
- return mapped;
172
+ return out;
173
+ }
174
+ function filterableFieldsFromMeta(meta) {
175
+ var _ref;
176
+ return filterableDescriptors((_ref = meta === null || meta === void 0 ? void 0 : meta.fields) !== null && _ref !== void 0 ? _ref : []);
177
+ }
178
+ function toTableFilterField(field) {
179
+ var _tableField_fieldProps;
180
+ var tableField = (0, import_fieldRegistry.fieldtypeToTableField)(field.fieldtype, field.options);
181
+ var options = (_tableField_fieldProps = tableField.fieldProps) === null || _tableField_fieldProps === void 0 ? void 0 : _tableField_fieldProps.options;
182
+ return {
183
+ id: field.fieldname,
184
+ label: field.label,
185
+ // Rating cells map to a custom render (fraction contract) which would
186
+ // otherwise fall through to "text"; it filters as the number it is.
187
+ type: field.fieldtype === "Rating" ? "number" : (0, import_table.mapFieldToFilterType)(tableField.field),
188
+ ...(options ? {
189
+ options
190
+ } : {})
191
+ };
192
+ }
193
+ function docFieldsToFilterFields(fields) {
194
+ return filterableDescriptors(fields).map(toTableFilterField);
195
+ }
196
+ function standardFiltersFromMeta(meta) {
197
+ var _ref;
198
+ var fromMeta = ((_ref = meta === null || meta === void 0 ? void 0 : meta.fields) !== null && _ref !== void 0 ? _ref : []).filter(function (field) {
199
+ return field.in_standard_filter === 1 && field.hidden !== 1 && field.fieldname;
200
+ }).map(toDescriptor);
201
+ var seen = new Set(fromMeta.map(function (field) {
202
+ return field.fieldname;
203
+ }));
204
+ var extras = [];
205
+ if (!seen.has("name")) {
206
+ extras.push({
207
+ fieldname: "name",
208
+ label: "ID",
209
+ fieldtype: "Data",
210
+ kind: "text"
211
+ });
212
+ seen.add("name");
213
+ }
214
+ var titleField = meta === null || meta === void 0 ? void 0 : meta.title_field;
215
+ if (titleField && !seen.has(titleField)) {
216
+ var _meta_fields;
217
+ var titleMeta = meta === null || meta === void 0 ? void 0 : (_meta_fields = meta.fields) === null || _meta_fields === void 0 ? void 0 : _meta_fields.find(function (field) {
218
+ return field.fieldname === titleField;
219
+ });
220
+ extras.push({
221
+ fieldname: titleField,
222
+ label: (titleMeta === null || titleMeta === void 0 ? void 0 : titleMeta.label) || "Title",
223
+ fieldtype: (titleMeta === null || titleMeta === void 0 ? void 0 : titleMeta.fieldtype) || "Data",
224
+ kind: fieldKind((titleMeta === null || titleMeta === void 0 ? void 0 : titleMeta.fieldtype) || "Data")
225
+ });
226
+ }
227
+ return extras.length > 0 ? [...extras, ...fromMeta] : fromMeta;
228
+ }
229
+ function selectOptionsFromField(options) {
230
+ return (options !== null && options !== void 0 ? options : "").split("\n").map(function (line) {
231
+ return line.trim();
232
+ }).filter(Boolean).map(function (line) {
233
+ return {
234
+ label: line,
235
+ value: line
236
+ };
237
+ });
238
+ }
239
+ function fieldLabelFor(fields, fieldname) {
240
+ var _fields_find;
241
+ var known = (_fields_find = fields.find(function (field) {
242
+ return field.fieldname === fieldname;
243
+ })) === null || _fields_find === void 0 ? void 0 : _fields_find.label;
244
+ if (known) return known;
245
+ var pretty = fieldname.replace(/^_+/, "").split("_").filter(Boolean).map(function (word) {
246
+ return word.charAt(0).toUpperCase() + word.slice(1);
247
+ }).join(" ");
248
+ return pretty || fieldname;
249
+ }
250
+ var DESK_OPERATOR_LABELS = {
251
+ "=": "Equals",
252
+ "!=": "Not Equals",
253
+ like: "Like",
254
+ "not like": "Not Like",
255
+ in: "In",
256
+ "not in": "Not In",
257
+ ">": "Greater Than",
258
+ "<": "Less Than",
259
+ ">=": "Greater Than or Equal",
260
+ "<=": "Less Than or Equal",
261
+ between: "Between",
262
+ "is set": "Is Set",
263
+ "is not set": "Is Not Set"
264
+ };
265
+ var BASE_OPERATORS = ["=", "!=", "like", "not like", "in", "not in", "is set", "is not set"];
266
+ function operatorsForKind(kind) {
267
+ switch (kind) {
268
+ case "check":
269
+ return ["=", "!="];
270
+ case "number":
271
+ case "date":
272
+ return ["=", "!=", ">", "<", ">=", "<=", "between", "in", "not in", "is set", "is not set"];
273
+ default:
274
+ return BASE_OPERATORS;
275
+ }
276
+ }
277
+ function defaultOperatorForKind(kind) {
278
+ return kind === "text" ? "like" : "=";
279
+ }
280
+ function draftToTuple(draft, kind) {
281
+ var {
282
+ fieldname,
283
+ operator
284
+ } = draft;
285
+ if (!fieldname) return null;
286
+ switch (operator) {
287
+ case "is set":
288
+ return [fieldname, "is", "set"];
289
+ case "is not set":
290
+ return [fieldname, "is", "not set"];
291
+ case "in":
292
+ case "not in":
293
+ {
294
+ var values = kind === "select" ? draft.values.map(function (value) {
295
+ return value.trim();
296
+ }).filter(Boolean) : draft.value.split(",").map(function (value) {
297
+ return value.trim();
298
+ }).filter(Boolean);
299
+ return values.length ? [fieldname, operator, values] : null;
300
+ }
301
+ case "between":
302
+ {
303
+ var _draft_values_, _draft_values_1;
304
+ var from = ((_draft_values_ = draft.values[0]) !== null && _draft_values_ !== void 0 ? _draft_values_ : "").trim();
305
+ var to = ((_draft_values_1 = draft.values[1]) !== null && _draft_values_1 !== void 0 ? _draft_values_1 : "").trim();
306
+ return from && to ? [fieldname, "between", [from, to]] : null;
307
+ }
308
+ case "like":
309
+ case "not like":
310
+ {
311
+ var text = draft.value.trim();
312
+ if (!text) return null;
313
+ return [fieldname, operator, text.includes("%") ? text : `%${text}%`];
314
+ }
315
+ default:
316
+ {
317
+ var text1 = draft.value.trim();
318
+ return text1 ? [fieldname, operator, text1] : null;
319
+ }
320
+ }
321
+ }
322
+ var SCALAR_OPERATORS = ["=", "!=", "like", "not like", ">", "<", ">=", "<="];
323
+ function tupleToDraft(tuple) {
324
+ var [fieldname, operator, raw] = tuple;
325
+ if (operator === "is") {
326
+ return {
327
+ fieldname,
328
+ operator: raw === "set" ? "is set" : "is not set",
329
+ value: "",
330
+ values: []
331
+ };
332
+ }
333
+ if (operator === "in" || operator === "not in") {
334
+ var values = Array.isArray(raw) ? raw.map(String) : String(raw !== null && raw !== void 0 ? raw : "").split(",").map(function (value) {
335
+ return value.trim();
336
+ }).filter(Boolean);
337
+ return {
338
+ fieldname,
339
+ operator,
340
+ value: values.join(", "),
341
+ values
342
+ };
343
+ }
344
+ if (operator === "between") {
345
+ var _values_, _values_1;
346
+ var values1 = Array.isArray(raw) ? raw.map(String) : [];
347
+ return {
348
+ fieldname,
349
+ operator: "between",
350
+ value: "",
351
+ values: [(_values_ = values1[0]) !== null && _values_ !== void 0 ? _values_ : "", (_values_1 = values1[1]) !== null && _values_1 !== void 0 ? _values_1 : ""]
352
+ };
353
+ }
354
+ var known = SCALAR_OPERATORS.includes(operator) ? operator : "=";
355
+ return {
356
+ fieldname,
357
+ operator: known,
358
+ value: raw === null || raw === void 0 ? "" : String(raw),
359
+ values: []
360
+ };
361
+ }
362
+ function setFieldFilter(filters, fieldname, tuple) {
363
+ var rest = filters.filter(function (param) {
364
+ var [name] = param;
365
+ return name !== fieldname;
366
+ });
367
+ return tuple ? [...rest, tuple] : rest;
368
+ }
369
+ function quickFilterValue(filters, fieldname) {
370
+ var tuple = filters.find(function (param) {
371
+ var [name] = param;
372
+ return name === fieldname;
373
+ });
374
+ if (!tuple) return "";
375
+ var [, operator, raw] = tuple;
376
+ if (operator === "like") {
377
+ var text = String(raw !== null && raw !== void 0 ? raw : "");
378
+ return text.startsWith("%") && text.endsWith("%") && text.length >= 2 ? text.slice(1, -1) : text;
379
+ }
380
+ if (operator === "=") return raw === null || raw === void 0 ? "" : String(raw);
381
+ return "";
382
+ }
383
+ function filterTupleLabel(fields, tuple) {
384
+ var [fieldname, operator, raw] = tuple;
385
+ var label = fieldLabelFor(fields, fieldname);
386
+ if (operator === "is") return `${label} ${raw === "set" ? "is set" : "is not set"}`;
387
+ var value = Array.isArray(raw) ? raw.map(String).join(", ") : String(raw !== null && raw !== void 0 ? raw : "");
388
+ return `${label} ${operator} ${value}`;
114
389
  }
115
390
  //# sourceMappingURL=filterFields.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","filterFields_exports","docFieldsToFilterFields","module","exports","import_table","require","import_fieldRegistry","NON_FILTERABLE_FIELDTYPES","Set","STANDARD_DOC_FIELDS","id","label","type"],"sources":["../../src/filterFields.ts"],"sourcesContent":[null],"mappings":"AAYA;;AAAA,IAGEA,SAAA,GAAAC,MAAA,CAAAC,cAAA;AAAA,IAAAC,gBACK,GAAAF,MAAA,CAAAG,wBAAA;AACP,IAAAC,iBAAS,GAAAJ,MAAA,CAAAK,mBAA6B;AAGtC,IAAAC,YAAM,GAAAN,MAAA,CAAAO,SAA4B,CAAAC,cAAA;AAAQ,IACxCC,QAAA,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EACA,SAAAC,IAAA,IAAAD,GAAA,EACAZ,SAAA,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AACA,IACAC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EACA,IAAAF,IAAA,WAAAA,IAAA,wBAAAA,IAAA;IACA,SAAAG,GAAA,IAAAhB,iBAAA,CAAAa,IAAA,GACA,KAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACAnB,SAAA,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACA;EACA,OAAAE,EAAA;AAAA;AACA,IACAM,YAAA,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AACF,IAACE,oBAAA;AAGDhB,QAAM,CAAAgB,oBAAyC;EAC7CC,uBAAqB,EAAAA,CAAA,KAAMA;AAAa,EACxC;AAAiDC,MAC/C,CAAAC,OAAI,GAAAN,YAAmB,CAAAG,oBAAoB;AAAO,IAClDI,YAAI,GAAAC,OAAY,CAAO,0BAAyB;AACpD,IAAAC,oBAAA,GAAAD,OAAA;AAOO,IAAAE,yBAAS,kBAAmE,IAAAC,GAAA,EACjF,eAAkC,EAClC,cAAa,EACb,WAAW,EACT,MAAI,EACJ,SAAM,EACN,MAAI,EACJ,QAAM,EACN,SAEA,QAAK,EACL,cAAY,aACN,EAAM,aACH,EAAqB;AAAA,IAAAC,mBAI1B,GAAc,CAE6C;EAE/DC,EAAC;EACHC,KAAA;EACAC,IAAA;AACE,GACF;EACAF,EAAA,SAAO;EACTC,KAAA","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","filterFields_exports","DESK_OPERATOR_LABELS","defaultOperatorForKind","docFieldsToFilterFields","draftToTuple","fieldKind","fieldLabelFor","filterTupleLabel","filterableFieldsFromMeta","operatorsForKind","quickFilterValue","selectOptionsFromField","setFieldFilter","standardDocFilterFields","standardFiltersFromMeta","tupleToDraft","module","exports","import_table","require","import_fieldRegistry","NON_FILTERABLE_FIELDTYPES","Set","NUMBER_FIELDTYPES","DATE_FIELDTYPES","fieldtype","has","toDescriptor","field","fieldname","label","kind","options","filterableDescriptors","fields","out","seen","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","String","startsWith","add","push","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","standard","meta","_ref","toTableFilterField","_tableField_fieldProps","tableField","fieldtypeToTableField","fieldProps","id","type","mapFieldToFilterType","map","fromMeta","filter","in_standard_filter","hidden","extras","titleField","title_field","_meta_fields","titleMeta","find"],"sources":["../../src/filterFields.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ import { formatCalendarDate } from "@multiplatform.one/theme";
2
+ function resolveDocAction(state) {
3
+ const action = resolveDeskAction(state);
4
+ if (state.isReadOnlyView && (action === "save" || action === "update")) return void 0;
5
+ return action;
6
+ }
7
+ function resolveDeskAction(state) {
8
+ const {
9
+ docstatus,
10
+ isCreate,
11
+ isDirty,
12
+ isSubmittable,
13
+ perms
14
+ } = state;
15
+ if (docstatus === 0) {
16
+ if (isSubmittable && !isCreate && !isDirty && perms.submit) return "submit";
17
+ return perms.write ? "save" : void 0;
18
+ }
19
+ if (!isSubmittable) return void 0;
20
+ if (docstatus === 1) {
21
+ if (isDirty && perms.write && perms.submit) return "update";
22
+ return perms.cancel ? "cancel" : void 0;
23
+ }
24
+ if (docstatus === 2 && perms.amend) return "amend";
25
+ return void 0;
26
+ }
27
+ function canDeleteDoc(docstatus) {
28
+ return docstatus !== 1;
29
+ }
30
+ function canEditDoc(docstatus, meta) {
31
+ if (docstatus === 0) return true;
32
+ if (docstatus === 1) return !!meta?.fields.some(field => field.allow_on_submit);
33
+ return false;
34
+ }
35
+ function resolveDocIndicator(state) {
36
+ if (state.isCreate || state.isDirty) return "notSaved";
37
+ if (state.docstatus === 1) return "submitted";
38
+ if (state.docstatus === 2) return "cancelled";
39
+ return state.isSubmittable ? "draft" : void 0;
40
+ }
41
+ function isAmendable(meta) {
42
+ return !!meta?.fields.some(field => field.fieldname === "amended_from");
43
+ }
44
+ const amendSkipped = /* @__PURE__ */new Set(["name", "amended_from", "amendment_date", "cancel_reason"]);
45
+ const rowBookkeeping = /* @__PURE__ */new Set(["name", "parent", "parentfield", "parenttype", "owner", "creation", "modified", "modified_by", "docstatus"]);
46
+ const tableTypes = /* @__PURE__ */new Set(["Table", "Table MultiSelect"]);
47
+ function buildAmendValues(fields, doc, cancelledName) {
48
+ const draft = {};
49
+ for (const field of fields) {
50
+ if (amendSkipped.has(field.fieldname) || field.fieldtype === "Password") continue;
51
+ const value = doc[field.fieldname];
52
+ if (value === void 0) continue;
53
+ if (tableTypes.has(field.fieldtype)) {
54
+ if (!Array.isArray(value)) continue;
55
+ draft[field.fieldname] = value.map(row => Object.fromEntries(Object.entries(row ?? {}).filter(([key]) => !rowBookkeeping.has(key))));
56
+ continue;
57
+ }
58
+ draft[field.fieldname] = value;
59
+ }
60
+ draft.amended_from = cancelledName;
61
+ draft.docstatus = 0;
62
+ if (fields.some(field => field.fieldname === "amendment_date")) {
63
+ draft.amendment_date = formatCalendarDate(/* @__PURE__ */new Date());
64
+ }
65
+ return draft;
66
+ }
67
+ export { buildAmendValues, canDeleteDoc, canEditDoc, isAmendable, resolveDocAction, resolveDocIndicator };
68
+ //# sourceMappingURL=docLifecycle.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["formatCalendarDate","resolveDocAction","state","action","resolveDeskAction","isReadOnlyView","docstatus","isCreate","isDirty","isSubmittable","perms","submit","write","cancel","amend","canDeleteDoc","canEditDoc","meta","fields","some","field","allow_on_submit","resolveDocIndicator","isAmendable","fieldname","amendSkipped","Set","rowBookkeeping","tableTypes","buildAmendValues","doc","cancelledName","draft","has","fieldtype","value","Array","isArray","map","row","Object","fromEntries","entries","filter","key","amended_from","amendment_date","Date"],"sources":["../../../src/formEngine/docLifecycle.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,131 @@
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 docLifecycle_exports = {};
26
+ __export(docLifecycle_exports, {
27
+ buildAmendValues: () => buildAmendValues,
28
+ canDeleteDoc: () => canDeleteDoc,
29
+ canEditDoc: () => canEditDoc,
30
+ isAmendable: () => isAmendable,
31
+ resolveDocAction: () => resolveDocAction,
32
+ resolveDocIndicator: () => resolveDocIndicator
33
+ });
34
+ module.exports = __toCommonJS(docLifecycle_exports);
35
+ var import_theme = require("@multiplatform.one/theme");
36
+ function resolveDocAction(state) {
37
+ var action = resolveDeskAction(state);
38
+ if (state.isReadOnlyView && (action === "save" || action === "update")) return void 0;
39
+ return action;
40
+ }
41
+ function resolveDeskAction(state) {
42
+ var {
43
+ docstatus,
44
+ isCreate,
45
+ isDirty,
46
+ isSubmittable,
47
+ perms
48
+ } = state;
49
+ if (docstatus === 0) {
50
+ if (isSubmittable && !isCreate && !isDirty && perms.submit) return "submit";
51
+ return perms.write ? "save" : void 0;
52
+ }
53
+ if (!isSubmittable) return void 0;
54
+ if (docstatus === 1) {
55
+ if (isDirty && perms.write && perms.submit) return "update";
56
+ return perms.cancel ? "cancel" : void 0;
57
+ }
58
+ if (docstatus === 2 && perms.amend) return "amend";
59
+ return void 0;
60
+ }
61
+ function canDeleteDoc(docstatus) {
62
+ return docstatus !== 1;
63
+ }
64
+ function canEditDoc(docstatus, meta) {
65
+ if (docstatus === 0) return true;
66
+ if (docstatus === 1) return !!(meta === null || meta === void 0 ? void 0 : meta.fields.some(function (field) {
67
+ return field.allow_on_submit;
68
+ }));
69
+ return false;
70
+ }
71
+ function resolveDocIndicator(state) {
72
+ if (state.isCreate || state.isDirty) return "notSaved";
73
+ if (state.docstatus === 1) return "submitted";
74
+ if (state.docstatus === 2) return "cancelled";
75
+ return state.isSubmittable ? "draft" : void 0;
76
+ }
77
+ function isAmendable(meta) {
78
+ return !!(meta === null || meta === void 0 ? void 0 : meta.fields.some(function (field) {
79
+ return field.fieldname === "amended_from";
80
+ }));
81
+ }
82
+ var amendSkipped = /* @__PURE__ */new Set(["name", "amended_from", "amendment_date", "cancel_reason"]);
83
+ var rowBookkeeping = /* @__PURE__ */new Set(["name", "parent", "parentfield", "parenttype", "owner", "creation", "modified", "modified_by", "docstatus"]);
84
+ var tableTypes = /* @__PURE__ */new Set(["Table", "Table MultiSelect"]);
85
+ function buildAmendValues(fields, doc, cancelledName) {
86
+ var draft = {};
87
+ var _iteratorNormalCompletion = true,
88
+ _didIteratorError = false,
89
+ _iteratorError = void 0;
90
+ try {
91
+ for (var _iterator = fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
92
+ var field = _step.value;
93
+ if (amendSkipped.has(field.fieldname) || field.fieldtype === "Password") continue;
94
+ var value = doc[field.fieldname];
95
+ if (value === void 0) continue;
96
+ if (tableTypes.has(field.fieldtype)) {
97
+ if (!Array.isArray(value)) continue;
98
+ draft[field.fieldname] = value.map(function (row) {
99
+ return Object.fromEntries(Object.entries(row !== null && row !== void 0 ? row : {}).filter(function (param) {
100
+ var [key] = param;
101
+ return !rowBookkeeping.has(key);
102
+ }));
103
+ });
104
+ continue;
105
+ }
106
+ draft[field.fieldname] = value;
107
+ }
108
+ } catch (err) {
109
+ _didIteratorError = true;
110
+ _iteratorError = err;
111
+ } finally {
112
+ try {
113
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
114
+ _iterator.return();
115
+ }
116
+ } finally {
117
+ if (_didIteratorError) {
118
+ throw _iteratorError;
119
+ }
120
+ }
121
+ }
122
+ draft.amended_from = cancelledName;
123
+ draft.docstatus = 0;
124
+ if (fields.some(function (field2) {
125
+ return field2.fieldname === "amendment_date";
126
+ })) {
127
+ draft.amendment_date = (0, import_theme.formatCalendarDate)(/* @__PURE__ */new Date());
128
+ }
129
+ return draft;
130
+ }
131
+ //# sourceMappingURL=docLifecycle.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","docLifecycle_exports","buildAmendValues","canDeleteDoc","canEditDoc","isAmendable","resolveDocAction","resolveDocIndicator","module","exports","import_theme","require","state","action","resolveDeskAction","isReadOnlyView","docstatus","isCreate","isDirty","isSubmittable","perms","submit","write","cancel","amend","meta","fields","some","field","allow_on_submit","fieldname","amendSkipped","Set","rowBookkeeping"],"sources":["../../../src/formEngine/docLifecycle.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ import { eq, useFrappeCollection, useLiveQuery } from "@multiplatform.one/frappe";
2
+ import { useMemo } from "react";
3
+ function useAmendedAs(connection, doctype, name) {
4
+ const collection = useFrappeCollection(name ? connection : void 0, doctype, {
5
+ fields: ["name", "amended_from", "docstatus"],
6
+ filters: name ? {
7
+ amended_from: name
8
+ } : void 0
9
+ });
10
+ const {
11
+ data
12
+ } = useLiveQuery(q => collection && name ? q.from({
13
+ _row: collection
14
+ }).where(({
15
+ _row
16
+ }) => eq(_row.amended_from, name)) : null, [collection, name]);
17
+ return useMemo(() => {
18
+ const rows = Array.isArray(data) ? data : [];
19
+ return rows.find(row => Number(row.docstatus ?? 0) < 2)?.name;
20
+ }, [data]);
21
+ }
22
+ export { useAmendedAs };
23
+ //# sourceMappingURL=useAmendedAs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["eq","useFrappeCollection","useLiveQuery","useMemo","useAmendedAs","connection","doctype","name","collection","fields","filters","amended_from","data","q","from","_row","where","rows","Array","isArray","find","row","Number","docstatus"],"sources":["../../../src/formEngine/useAmendedAs.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,EAAA,EAAIC,mBAAA,EAAqBC,YAAA,QAAoB;AACtD,SAASC,OAAA,QAAe;AAgBjB,SAASC,aACdC,UAAA,EACAC,OAAA,EACAC,IAAA,EACoB;EACpB,MAAMC,UAAA,GAAaP,mBAAA,CAAkCM,IAAA,GAAOF,UAAA,GAAa,QAAWC,OAAA,EAAS;IAC3FG,MAAA,EAAQ,CAAC,QAAQ,gBAAgB,WAAW;IAC5CC,OAAA,EAASH,IAAA,GAAO;MAAEI,YAAA,EAAcJ;IAAK,IAAI;EAC3C,CAAC;EACD,MAAM;IAAEK;EAAK,IAAIV,YAAA,CACdW,CAAA,IACCL,UAAA,IAAcD,IAAA,GACVM,CAAA,CAAEC,IAAA,CAAK;IAAEC,IAAA,EAAMP;EAAW,CAAC,EAAEQ,KAAA,CAAM,CAAC;IAAED;EAAK,MAAMf,EAAA,CAAGe,IAAA,CAAKJ,YAAA,EAAcJ,IAAI,CAAC,IAC5E,MACN,CAACC,UAAA,EAAYD,IAAI,CACnB;EACA,OAAOJ,OAAA,CAAQ,MAAM;IACnB,MAAMc,IAAA,GAAQC,KAAA,CAAMC,OAAA,CAAQP,IAAI,IAAIA,IAAA,GAAO,EAAC;IAC5C,OAAOK,IAAA,CAAKG,IAAA,CAAMC,GAAA,IAAQC,MAAA,CAAOD,GAAA,CAAIE,SAAA,IAAa,CAAC,IAAI,CAAC,GAAGhB,IAAA;EAC7D,GAAG,CAACK,IAAI,CAAC;AACX","ignoreList":[]}