@open-mercato/core 0.7.1-develop.7152.1.a69e92f9c9 → 0.7.1-develop.7153.1.7145d295e6

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 (439) hide show
  1. package/dist/modules/api_keys/backend/api-keys/create/page.js +1 -0
  2. package/dist/modules/api_keys/backend/api-keys/create/page.js.map +2 -2
  3. package/dist/modules/api_keys/backend/api-keys/page.js +1 -0
  4. package/dist/modules/api_keys/backend/api-keys/page.js.map +2 -2
  5. package/dist/modules/attachments/components/AttachmentLibrary.js +1 -0
  6. package/dist/modules/attachments/components/AttachmentLibrary.js.map +2 -2
  7. package/dist/modules/audit_logs/backend/audit-logs/page.js +53 -50
  8. package/dist/modules/audit_logs/backend/audit-logs/page.js.map +2 -2
  9. package/dist/modules/audit_logs/components/AccessLogsTable.js +1 -0
  10. package/dist/modules/audit_logs/components/AccessLogsTable.js.map +2 -2
  11. package/dist/modules/audit_logs/components/AuditLogsActions.js +1 -0
  12. package/dist/modules/audit_logs/components/AuditLogsActions.js.map +2 -2
  13. package/dist/modules/auth/backend/roles/[id]/edit/page.js +1 -0
  14. package/dist/modules/auth/backend/roles/[id]/edit/page.js.map +2 -2
  15. package/dist/modules/auth/backend/roles/create/page.js +1 -0
  16. package/dist/modules/auth/backend/roles/create/page.js.map +2 -2
  17. package/dist/modules/auth/backend/roles/page.js +1 -0
  18. package/dist/modules/auth/backend/roles/page.js.map +2 -2
  19. package/dist/modules/auth/backend/users/[id]/edit/page.js +1 -0
  20. package/dist/modules/auth/backend/users/[id]/edit/page.js.map +2 -2
  21. package/dist/modules/auth/backend/users/create/page.js +1 -0
  22. package/dist/modules/auth/backend/users/create/page.js.map +2 -2
  23. package/dist/modules/auth/backend/users/page.js +1 -0
  24. package/dist/modules/auth/backend/users/page.js.map +2 -2
  25. package/dist/modules/business_rules/backend/logs/page.js +1 -0
  26. package/dist/modules/business_rules/backend/logs/page.js.map +2 -2
  27. package/dist/modules/business_rules/backend/rules/[id]/page.js +1 -0
  28. package/dist/modules/business_rules/backend/rules/[id]/page.js.map +2 -2
  29. package/dist/modules/business_rules/backend/rules/create/page.js +1 -0
  30. package/dist/modules/business_rules/backend/rules/create/page.js.map +2 -2
  31. package/dist/modules/business_rules/backend/rules/page.js +1 -0
  32. package/dist/modules/business_rules/backend/rules/page.js.map +2 -2
  33. package/dist/modules/business_rules/backend/sets/[id]/page.js +1 -0
  34. package/dist/modules/business_rules/backend/sets/[id]/page.js.map +2 -2
  35. package/dist/modules/business_rules/backend/sets/create/page.js +1 -0
  36. package/dist/modules/business_rules/backend/sets/create/page.js.map +2 -2
  37. package/dist/modules/business_rules/backend/sets/page.js +1 -0
  38. package/dist/modules/business_rules/backend/sets/page.js.map +2 -2
  39. package/dist/modules/catalog/backend/catalog/categories/[id]/edit/page.js +1 -0
  40. package/dist/modules/catalog/backend/catalog/categories/[id]/edit/page.js.map +2 -2
  41. package/dist/modules/catalog/backend/catalog/categories/create/page.js +1 -0
  42. package/dist/modules/catalog/backend/catalog/categories/create/page.js.map +2 -2
  43. package/dist/modules/catalog/backend/catalog/products/[id]/page.js +1 -0
  44. package/dist/modules/catalog/backend/catalog/products/[id]/page.js.map +2 -2
  45. package/dist/modules/catalog/backend/catalog/products/[productId]/variants/[variantId]/page.js +1 -0
  46. package/dist/modules/catalog/backend/catalog/products/[productId]/variants/[variantId]/page.js.map +2 -2
  47. package/dist/modules/catalog/backend/catalog/products/[productId]/variants/create/page.js +1 -0
  48. package/dist/modules/catalog/backend/catalog/products/[productId]/variants/create/page.js.map +2 -2
  49. package/dist/modules/catalog/backend/catalog/products/create/page.js +1 -0
  50. package/dist/modules/catalog/backend/catalog/products/create/page.js.map +2 -2
  51. package/dist/modules/catalog/components/categories/CategoriesDataTable.js +1 -0
  52. package/dist/modules/catalog/components/categories/CategoriesDataTable.js.map +2 -2
  53. package/dist/modules/catalog/components/products/ProductsDataTable.js +1 -0
  54. package/dist/modules/catalog/components/products/ProductsDataTable.js.map +2 -2
  55. package/dist/modules/communication_channels/backend/communication_channels/channels/page.js +1 -0
  56. package/dist/modules/communication_channels/backend/communication_channels/channels/page.js.map +2 -2
  57. package/dist/modules/communication_channels/backend/profile/communication-channels/page.js +2 -1
  58. package/dist/modules/communication_channels/backend/profile/communication-channels/page.js.map +2 -2
  59. package/dist/modules/currencies/backend/currencies/[id]/page.js +1 -0
  60. package/dist/modules/currencies/backend/currencies/[id]/page.js.map +2 -2
  61. package/dist/modules/currencies/backend/currencies/create/page.js +1 -0
  62. package/dist/modules/currencies/backend/currencies/create/page.js.map +2 -2
  63. package/dist/modules/currencies/backend/currencies/page.js +1 -0
  64. package/dist/modules/currencies/backend/currencies/page.js.map +2 -2
  65. package/dist/modules/currencies/backend/exchange-rates/[id]/page.js +1 -0
  66. package/dist/modules/currencies/backend/exchange-rates/[id]/page.js.map +2 -2
  67. package/dist/modules/currencies/backend/exchange-rates/create/page.js +1 -0
  68. package/dist/modules/currencies/backend/exchange-rates/create/page.js.map +2 -2
  69. package/dist/modules/currencies/backend/exchange-rates/page.js +1 -0
  70. package/dist/modules/currencies/backend/exchange-rates/page.js.map +2 -2
  71. package/dist/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.js +1 -0
  72. package/dist/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.js.map +2 -2
  73. package/dist/modules/customer_accounts/backend/customer_accounts/roles/create/page.js +1 -0
  74. package/dist/modules/customer_accounts/backend/customer_accounts/roles/create/page.js.map +2 -2
  75. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js +1 -0
  76. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js.map +2 -2
  77. package/dist/modules/customer_accounts/backend/customer_accounts/users/PortalUsersPageClient.js +1 -0
  78. package/dist/modules/customer_accounts/backend/customer_accounts/users/PortalUsersPageClient.js.map +2 -2
  79. package/dist/modules/customers/backend/customers/companies/create/page.js +1 -0
  80. package/dist/modules/customers/backend/customers/companies/create/page.js.map +2 -2
  81. package/dist/modules/customers/backend/customers/companies/page.js +1 -0
  82. package/dist/modules/customers/backend/customers/companies/page.js.map +2 -2
  83. package/dist/modules/customers/backend/customers/deals/page.js +1 -0
  84. package/dist/modules/customers/backend/customers/deals/page.js.map +2 -2
  85. package/dist/modules/customers/backend/customers/people/create/page.js +1 -0
  86. package/dist/modules/customers/backend/customers/people/create/page.js.map +2 -2
  87. package/dist/modules/customers/backend/customers/people/page.js +1 -0
  88. package/dist/modules/customers/backend/customers/people/page.js.map +2 -2
  89. package/dist/modules/customers/components/CustomerTodosTable.js +1 -0
  90. package/dist/modules/customers/components/CustomerTodosTable.js.map +2 -2
  91. package/dist/modules/customers/components/detail/DealForm.js +1 -0
  92. package/dist/modules/customers/components/detail/DealForm.js.map +2 -2
  93. package/dist/modules/data_sync/backend/data-sync/page.js +1 -0
  94. package/dist/modules/data_sync/backend/data-sync/page.js.map +2 -2
  95. package/dist/modules/devices/backend/devices/[id]/page.js +1 -0
  96. package/dist/modules/devices/backend/devices/[id]/page.js.map +2 -2
  97. package/dist/modules/devices/backend/devices/create/page.js +1 -0
  98. package/dist/modules/devices/backend/devices/create/page.js.map +2 -2
  99. package/dist/modules/devices/backend/devices/page.js +1 -0
  100. package/dist/modules/devices/backend/devices/page.js.map +2 -2
  101. package/dist/modules/dictionaries/components/DictionaryTable.js +1 -0
  102. package/dist/modules/dictionaries/components/DictionaryTable.js.map +2 -2
  103. package/dist/modules/directory/backend/directory/organizations/[id]/edit/page.js +1 -0
  104. package/dist/modules/directory/backend/directory/organizations/[id]/edit/page.js.map +2 -2
  105. package/dist/modules/directory/backend/directory/organizations/create/page.js +1 -0
  106. package/dist/modules/directory/backend/directory/organizations/create/page.js.map +2 -2
  107. package/dist/modules/directory/backend/directory/organizations/page.js +1 -0
  108. package/dist/modules/directory/backend/directory/organizations/page.js.map +2 -2
  109. package/dist/modules/directory/backend/directory/tenants/[id]/edit/page.js +1 -0
  110. package/dist/modules/directory/backend/directory/tenants/[id]/edit/page.js.map +2 -2
  111. package/dist/modules/directory/backend/directory/tenants/create/page.js +1 -0
  112. package/dist/modules/directory/backend/directory/tenants/create/page.js.map +2 -2
  113. package/dist/modules/directory/backend/directory/tenants/page.js +1 -0
  114. package/dist/modules/directory/backend/directory/tenants/page.js.map +2 -2
  115. package/dist/modules/entities/backend/entities/user/[entityId]/page.js +1 -0
  116. package/dist/modules/entities/backend/entities/user/[entityId]/page.js.map +2 -2
  117. package/dist/modules/entities/backend/entities/user/[entityId]/records/[recordId]/page.js +1 -0
  118. package/dist/modules/entities/backend/entities/user/[entityId]/records/[recordId]/page.js.map +2 -2
  119. package/dist/modules/entities/backend/entities/user/[entityId]/records/create/page.js +1 -0
  120. package/dist/modules/entities/backend/entities/user/[entityId]/records/create/page.js.map +2 -2
  121. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js +1 -0
  122. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js.map +2 -2
  123. package/dist/modules/entities/backend/entities/user/create/page.js +1 -0
  124. package/dist/modules/entities/backend/entities/user/create/page.js.map +2 -2
  125. package/dist/modules/entities/components/SystemEntitiesTable.js +1 -0
  126. package/dist/modules/entities/components/SystemEntitiesTable.js.map +2 -2
  127. package/dist/modules/entities/components/UserEntitiesTable.js +1 -0
  128. package/dist/modules/entities/components/UserEntitiesTable.js.map +2 -2
  129. package/dist/modules/eudr/backend/eudr/evidence-submissions/[id]/page.js +1 -0
  130. package/dist/modules/eudr/backend/eudr/evidence-submissions/[id]/page.js.map +2 -2
  131. package/dist/modules/eudr/backend/eudr/evidence-submissions/create/page.js +1 -0
  132. package/dist/modules/eudr/backend/eudr/evidence-submissions/create/page.js.map +2 -2
  133. package/dist/modules/eudr/backend/eudr/evidence-submissions/page.js +1 -0
  134. package/dist/modules/eudr/backend/eudr/evidence-submissions/page.js.map +2 -2
  135. package/dist/modules/eudr/backend/eudr/plots/[id]/page.js +1 -0
  136. package/dist/modules/eudr/backend/eudr/plots/[id]/page.js.map +2 -2
  137. package/dist/modules/eudr/backend/eudr/plots/create/page.js +1 -0
  138. package/dist/modules/eudr/backend/eudr/plots/create/page.js.map +2 -2
  139. package/dist/modules/eudr/backend/eudr/plots/page.js +1 -0
  140. package/dist/modules/eudr/backend/eudr/plots/page.js.map +2 -2
  141. package/dist/modules/eudr/backend/eudr/product-mappings/[id]/page.js +1 -0
  142. package/dist/modules/eudr/backend/eudr/product-mappings/[id]/page.js.map +2 -2
  143. package/dist/modules/eudr/backend/eudr/product-mappings/create/page.js +1 -0
  144. package/dist/modules/eudr/backend/eudr/product-mappings/create/page.js.map +2 -2
  145. package/dist/modules/eudr/backend/eudr/product-mappings/page.js +1 -0
  146. package/dist/modules/eudr/backend/eudr/product-mappings/page.js.map +2 -2
  147. package/dist/modules/eudr/backend/eudr/risk-assessments/[id]/page.js +1 -0
  148. package/dist/modules/eudr/backend/eudr/risk-assessments/[id]/page.js.map +2 -2
  149. package/dist/modules/eudr/backend/eudr/risk-assessments/create/page.js +1 -0
  150. package/dist/modules/eudr/backend/eudr/risk-assessments/create/page.js.map +2 -2
  151. package/dist/modules/eudr/backend/eudr/risk-assessments/page.js +1 -0
  152. package/dist/modules/eudr/backend/eudr/risk-assessments/page.js.map +2 -2
  153. package/dist/modules/eudr/backend/eudr/statements/[id]/page.js +2 -0
  154. package/dist/modules/eudr/backend/eudr/statements/[id]/page.js.map +2 -2
  155. package/dist/modules/eudr/backend/eudr/statements/create/page.js +1 -0
  156. package/dist/modules/eudr/backend/eudr/statements/create/page.js.map +2 -2
  157. package/dist/modules/eudr/backend/eudr/statements/page.js +1 -0
  158. package/dist/modules/eudr/backend/eudr/statements/page.js.map +2 -2
  159. package/dist/modules/eudr/components/MappingSuggestionsDialog.js +1 -0
  160. package/dist/modules/eudr/components/MappingSuggestionsDialog.js.map +2 -2
  161. package/dist/modules/eudr/components/MitigationActionsSection.js +1 -0
  162. package/dist/modules/eudr/components/MitigationActionsSection.js.map +2 -2
  163. package/dist/modules/eudr/components/StatementRiskSection.js +1 -0
  164. package/dist/modules/eudr/components/StatementRiskSection.js.map +2 -2
  165. package/dist/modules/feature_toggles/backend/feature-toggles/global/[id]/edit/page.js +1 -0
  166. package/dist/modules/feature_toggles/backend/feature-toggles/global/[id]/edit/page.js.map +2 -2
  167. package/dist/modules/feature_toggles/backend/feature-toggles/global/create/page.js +1 -0
  168. package/dist/modules/feature_toggles/backend/feature-toggles/global/create/page.js.map +2 -2
  169. package/dist/modules/feature_toggles/components/FeatureTogglesTable.js +1 -0
  170. package/dist/modules/feature_toggles/components/FeatureTogglesTable.js.map +2 -2
  171. package/dist/modules/feature_toggles/components/OverridesTable.js +1 -0
  172. package/dist/modules/feature_toggles/components/OverridesTable.js.map +2 -2
  173. package/dist/modules/inbox_ops/backend/inbox-ops/page.js +1 -0
  174. package/dist/modules/inbox_ops/backend/inbox-ops/page.js.map +2 -2
  175. package/dist/modules/integrations/backend/integrations/[id]/page.js +1 -0
  176. package/dist/modules/integrations/backend/integrations/[id]/page.js.map +2 -2
  177. package/dist/modules/messages/components/MessagesInboxPageClient.js +1 -0
  178. package/dist/modules/messages/components/MessagesInboxPageClient.js.map +2 -2
  179. package/dist/modules/messages/components/message-detail/panels/MainMessageHeader.js +1 -1
  180. package/dist/modules/messages/components/message-detail/panels/MainMessageHeader.js.map +2 -2
  181. package/dist/modules/payment_gateways/backend/payment-gateways/page.js +1 -0
  182. package/dist/modules/payment_gateways/backend/payment-gateways/page.js.map +2 -2
  183. package/dist/modules/planner/backend/planner/availability-rulesets/page.js +1 -0
  184. package/dist/modules/planner/backend/planner/availability-rulesets/page.js.map +2 -2
  185. package/dist/modules/planner/components/AvailabilityRuleSetForm.js +1 -0
  186. package/dist/modules/planner/components/AvailabilityRuleSetForm.js.map +2 -2
  187. package/dist/modules/push_notifications/backend/push_notifications/page.js +1 -0
  188. package/dist/modules/push_notifications/backend/push_notifications/page.js.map +2 -2
  189. package/dist/modules/push_notifications/backend/push_notifications/send/page.js +1 -0
  190. package/dist/modules/push_notifications/backend/push_notifications/send/page.js.map +2 -2
  191. package/dist/modules/query_index/components/QueryIndexesTable.js +1 -0
  192. package/dist/modules/query_index/components/QueryIndexesTable.js.map +2 -2
  193. package/dist/modules/resources/backend/resources/resource-types/page.js +1 -0
  194. package/dist/modules/resources/backend/resources/resource-types/page.js.map +2 -2
  195. package/dist/modules/resources/backend/resources/resources/create/page.js +1 -0
  196. package/dist/modules/resources/backend/resources/resources/create/page.js.map +2 -2
  197. package/dist/modules/resources/backend/resources/resources/page.js +1 -0
  198. package/dist/modules/resources/backend/resources/resources/page.js.map +2 -2
  199. package/dist/modules/resources/components/ResourceCrudForm.js +2 -0
  200. package/dist/modules/resources/components/ResourceCrudForm.js.map +2 -2
  201. package/dist/modules/resources/components/ResourceTypeCrudForm.js +1 -0
  202. package/dist/modules/resources/components/ResourceTypeCrudForm.js.map +2 -2
  203. package/dist/modules/sales/backend/sales/channels/[channelId]/edit/page.js +1 -0
  204. package/dist/modules/sales/backend/sales/channels/[channelId]/edit/page.js.map +2 -2
  205. package/dist/modules/sales/backend/sales/channels/create/page.js +1 -0
  206. package/dist/modules/sales/backend/sales/channels/create/page.js.map +2 -2
  207. package/dist/modules/sales/backend/sales/channels/offers/page.js +2 -2
  208. package/dist/modules/sales/backend/sales/channels/offers/page.js.map +2 -2
  209. package/dist/modules/sales/backend/sales/channels/page.js +2 -1
  210. package/dist/modules/sales/backend/sales/channels/page.js.map +2 -2
  211. package/dist/modules/sales/components/channels/ChannelOfferForm.js +1 -0
  212. package/dist/modules/sales/components/channels/ChannelOfferForm.js.map +2 -2
  213. package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js +1 -1
  214. package/dist/modules/sales/components/channels/SalesChannelOffersPanel.js.map +2 -2
  215. package/dist/modules/sales/components/documents/SalesDocumentForm.js +1 -0
  216. package/dist/modules/sales/components/documents/SalesDocumentForm.js.map +2 -2
  217. package/dist/modules/sales/components/documents/SalesDocumentsTable.js +2 -1
  218. package/dist/modules/sales/components/documents/SalesDocumentsTable.js.map +2 -2
  219. package/dist/modules/shipping_carriers/backend/shipping-carriers/create/page.js +2 -1
  220. package/dist/modules/shipping_carriers/backend/shipping-carriers/create/page.js.map +2 -2
  221. package/dist/modules/staff/backend/staff/leave-requests/page.js +1 -0
  222. package/dist/modules/staff/backend/staff/leave-requests/page.js.map +2 -2
  223. package/dist/modules/staff/backend/staff/my-leave-requests/page.js +1 -0
  224. package/dist/modules/staff/backend/staff/my-leave-requests/page.js.map +2 -2
  225. package/dist/modules/staff/backend/staff/profile/create/page.js +1 -0
  226. package/dist/modules/staff/backend/staff/profile/create/page.js.map +2 -2
  227. package/dist/modules/staff/backend/staff/team-members/create/page.js +1 -0
  228. package/dist/modules/staff/backend/staff/team-members/create/page.js.map +2 -2
  229. package/dist/modules/staff/backend/staff/team-members/page.js +1 -0
  230. package/dist/modules/staff/backend/staff/team-members/page.js.map +2 -2
  231. package/dist/modules/staff/backend/staff/team-roles/page.js +1 -0
  232. package/dist/modules/staff/backend/staff/team-roles/page.js.map +2 -2
  233. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js +1 -0
  234. package/dist/modules/staff/backend/staff/teams/[id]/edit/page.js.map +2 -2
  235. package/dist/modules/staff/backend/staff/teams/page.js +1 -0
  236. package/dist/modules/staff/backend/staff/teams/page.js.map +2 -2
  237. package/dist/modules/staff/backend/staff/timesheets/projects/[id]/edit/page.js +1 -0
  238. package/dist/modules/staff/backend/staff/timesheets/projects/[id]/edit/page.js.map +2 -2
  239. package/dist/modules/staff/backend/staff/timesheets/projects/create/page.js +1 -0
  240. package/dist/modules/staff/backend/staff/timesheets/projects/create/page.js.map +2 -2
  241. package/dist/modules/staff/backend/staff/timesheets/projects/page.js +1 -0
  242. package/dist/modules/staff/backend/staff/timesheets/projects/page.js.map +2 -2
  243. package/dist/modules/staff/components/LeaveRequestForm.js +1 -0
  244. package/dist/modules/staff/components/LeaveRequestForm.js.map +2 -2
  245. package/dist/modules/staff/components/TeamForm.js +1 -0
  246. package/dist/modules/staff/components/TeamForm.js.map +2 -2
  247. package/dist/modules/staff/components/TeamMemberForm.js +2 -0
  248. package/dist/modules/staff/components/TeamMemberForm.js.map +2 -2
  249. package/dist/modules/staff/components/TeamRoleForm.js +1 -0
  250. package/dist/modules/staff/components/TeamRoleForm.js.map +2 -2
  251. package/dist/modules/warranty_claims/backend/warranty_claims/[id]/edit/page.js +1 -0
  252. package/dist/modules/warranty_claims/backend/warranty_claims/[id]/edit/page.js.map +2 -2
  253. package/dist/modules/warranty_claims/backend/warranty_claims/create/page.js +1 -0
  254. package/dist/modules/warranty_claims/backend/warranty_claims/create/page.js.map +2 -2
  255. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/[id]/edit/page.js +1 -0
  256. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/[id]/edit/page.js.map +2 -2
  257. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/create/page.js +1 -0
  258. package/dist/modules/warranty_claims/backend/warranty_claims/registrations/create/page.js.map +2 -2
  259. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/[id]/edit/page.js +1 -0
  260. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/[id]/edit/page.js.map +2 -2
  261. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/create/page.js +1 -0
  262. package/dist/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/create/page.js.map +2 -2
  263. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/[id]/edit/page.js +1 -0
  264. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/[id]/edit/page.js.map +2 -2
  265. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/create/page.js +1 -0
  266. package/dist/modules/warranty_claims/backend/warranty_claims/vendor-policies/create/page.js.map +2 -2
  267. package/dist/modules/wms/components/backend/WmsConfigurationPage.js +4 -0
  268. package/dist/modules/wms/components/backend/WmsConfigurationPage.js.map +2 -2
  269. package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js +1 -0
  270. package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js.map +2 -2
  271. package/dist/modules/wms/components/backend/WmsLocationDetailPage.js +1 -0
  272. package/dist/modules/wms/components/backend/WmsLocationDetailPage.js.map +2 -2
  273. package/dist/modules/wms/components/backend/WmsLotDetailPage.js +1 -0
  274. package/dist/modules/wms/components/backend/WmsLotDetailPage.js.map +2 -2
  275. package/dist/modules/wms/components/backend/WmsLotsListPage.js +1 -0
  276. package/dist/modules/wms/components/backend/WmsLotsListPage.js.map +2 -2
  277. package/dist/modules/wms/components/backend/WmsOperationalDashboardPage.js +1 -0
  278. package/dist/modules/wms/components/backend/WmsOperationalDashboardPage.js.map +2 -2
  279. package/dist/modules/wms/components/backend/WmsSkuDetailPage.js +1 -0
  280. package/dist/modules/wms/components/backend/WmsSkuDetailPage.js.map +2 -2
  281. package/dist/modules/workflows/backend/definitions/[id]/page.js +1 -0
  282. package/dist/modules/workflows/backend/definitions/[id]/page.js.map +2 -2
  283. package/dist/modules/workflows/backend/definitions/create/page.js +1 -0
  284. package/dist/modules/workflows/backend/definitions/create/page.js.map +2 -2
  285. package/dist/modules/workflows/backend/definitions/page.js +1 -0
  286. package/dist/modules/workflows/backend/definitions/page.js.map +2 -2
  287. package/dist/modules/workflows/backend/events/page.js +1 -0
  288. package/dist/modules/workflows/backend/events/page.js.map +2 -2
  289. package/dist/modules/workflows/backend/instances/page.js +1 -0
  290. package/dist/modules/workflows/backend/instances/page.js.map +2 -2
  291. package/dist/modules/workflows/backend/tasks/page.js +1 -0
  292. package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
  293. package/package.json +7 -7
  294. package/src/modules/api_keys/backend/api-keys/create/page.tsx +1 -0
  295. package/src/modules/api_keys/backend/api-keys/page.tsx +2 -1
  296. package/src/modules/attachments/components/AttachmentLibrary.tsx +1 -0
  297. package/src/modules/audit_logs/backend/audit-logs/page.tsx +2 -1
  298. package/src/modules/audit_logs/components/AccessLogsTable.tsx +1 -0
  299. package/src/modules/audit_logs/components/AuditLogsActions.tsx +1 -0
  300. package/src/modules/auth/backend/roles/[id]/edit/page.tsx +1 -0
  301. package/src/modules/auth/backend/roles/create/page.tsx +1 -0
  302. package/src/modules/auth/backend/roles/page.tsx +2 -1
  303. package/src/modules/auth/backend/users/[id]/edit/page.tsx +1 -0
  304. package/src/modules/auth/backend/users/create/page.tsx +1 -0
  305. package/src/modules/auth/backend/users/page.tsx +2 -1
  306. package/src/modules/business_rules/backend/logs/page.tsx +2 -1
  307. package/src/modules/business_rules/backend/rules/[id]/page.tsx +1 -0
  308. package/src/modules/business_rules/backend/rules/create/page.tsx +1 -0
  309. package/src/modules/business_rules/backend/rules/page.tsx +2 -1
  310. package/src/modules/business_rules/backend/sets/[id]/page.tsx +1 -0
  311. package/src/modules/business_rules/backend/sets/create/page.tsx +1 -0
  312. package/src/modules/business_rules/backend/sets/page.tsx +2 -1
  313. package/src/modules/catalog/backend/catalog/categories/[id]/edit/page.tsx +1 -0
  314. package/src/modules/catalog/backend/catalog/categories/create/page.tsx +1 -0
  315. package/src/modules/catalog/backend/catalog/products/[id]/page.tsx +1 -0
  316. package/src/modules/catalog/backend/catalog/products/[productId]/variants/[variantId]/page.tsx +1 -0
  317. package/src/modules/catalog/backend/catalog/products/[productId]/variants/create/page.tsx +1 -0
  318. package/src/modules/catalog/backend/catalog/products/create/page.tsx +1 -0
  319. package/src/modules/catalog/components/categories/CategoriesDataTable.tsx +2 -1
  320. package/src/modules/catalog/components/products/ProductsDataTable.tsx +2 -1
  321. package/src/modules/communication_channels/backend/communication_channels/channels/page.tsx +1 -0
  322. package/src/modules/communication_channels/backend/profile/communication-channels/page.tsx +3 -2
  323. package/src/modules/currencies/backend/currencies/[id]/page.tsx +1 -0
  324. package/src/modules/currencies/backend/currencies/create/page.tsx +1 -0
  325. package/src/modules/currencies/backend/currencies/page.tsx +2 -1
  326. package/src/modules/currencies/backend/exchange-rates/[id]/page.tsx +1 -0
  327. package/src/modules/currencies/backend/exchange-rates/create/page.tsx +1 -0
  328. package/src/modules/currencies/backend/exchange-rates/page.tsx +2 -1
  329. package/src/modules/customer_accounts/backend/customer_accounts/roles/[id]/page.tsx +1 -0
  330. package/src/modules/customer_accounts/backend/customer_accounts/roles/create/page.tsx +1 -0
  331. package/src/modules/customer_accounts/backend/customer_accounts/roles/page.tsx +2 -1
  332. package/src/modules/customer_accounts/backend/customer_accounts/users/PortalUsersPageClient.tsx +1 -0
  333. package/src/modules/customers/backend/customers/companies/create/page.tsx +1 -0
  334. package/src/modules/customers/backend/customers/companies/page.tsx +1 -0
  335. package/src/modules/customers/backend/customers/deals/page.tsx +1 -0
  336. package/src/modules/customers/backend/customers/people/create/page.tsx +1 -0
  337. package/src/modules/customers/backend/customers/people/page.tsx +1 -0
  338. package/src/modules/customers/components/CustomerTodosTable.tsx +1 -0
  339. package/src/modules/customers/components/detail/DealForm.tsx +1 -0
  340. package/src/modules/data_sync/backend/data-sync/page.tsx +1 -0
  341. package/src/modules/devices/backend/devices/[id]/page.tsx +1 -0
  342. package/src/modules/devices/backend/devices/create/page.tsx +1 -0
  343. package/src/modules/devices/backend/devices/page.tsx +2 -1
  344. package/src/modules/dictionaries/components/DictionaryTable.tsx +1 -0
  345. package/src/modules/directory/backend/directory/organizations/[id]/edit/page.tsx +1 -0
  346. package/src/modules/directory/backend/directory/organizations/create/page.tsx +1 -0
  347. package/src/modules/directory/backend/directory/organizations/page.tsx +2 -1
  348. package/src/modules/directory/backend/directory/tenants/[id]/edit/page.tsx +1 -0
  349. package/src/modules/directory/backend/directory/tenants/create/page.tsx +1 -0
  350. package/src/modules/directory/backend/directory/tenants/page.tsx +2 -1
  351. package/src/modules/entities/backend/entities/user/[entityId]/page.tsx +1 -0
  352. package/src/modules/entities/backend/entities/user/[entityId]/records/[recordId]/page.tsx +1 -0
  353. package/src/modules/entities/backend/entities/user/[entityId]/records/create/page.tsx +1 -0
  354. package/src/modules/entities/backend/entities/user/[entityId]/records/page.tsx +2 -1
  355. package/src/modules/entities/backend/entities/user/create/page.tsx +1 -0
  356. package/src/modules/entities/components/SystemEntitiesTable.tsx +1 -0
  357. package/src/modules/entities/components/UserEntitiesTable.tsx +1 -0
  358. package/src/modules/eudr/backend/eudr/evidence-submissions/[id]/page.tsx +1 -0
  359. package/src/modules/eudr/backend/eudr/evidence-submissions/create/page.tsx +1 -0
  360. package/src/modules/eudr/backend/eudr/evidence-submissions/page.tsx +2 -1
  361. package/src/modules/eudr/backend/eudr/plots/[id]/page.tsx +1 -0
  362. package/src/modules/eudr/backend/eudr/plots/create/page.tsx +1 -0
  363. package/src/modules/eudr/backend/eudr/plots/page.tsx +2 -1
  364. package/src/modules/eudr/backend/eudr/product-mappings/[id]/page.tsx +1 -0
  365. package/src/modules/eudr/backend/eudr/product-mappings/create/page.tsx +1 -0
  366. package/src/modules/eudr/backend/eudr/product-mappings/page.tsx +2 -1
  367. package/src/modules/eudr/backend/eudr/risk-assessments/[id]/page.tsx +1 -0
  368. package/src/modules/eudr/backend/eudr/risk-assessments/create/page.tsx +1 -0
  369. package/src/modules/eudr/backend/eudr/risk-assessments/page.tsx +2 -1
  370. package/src/modules/eudr/backend/eudr/statements/[id]/page.tsx +2 -0
  371. package/src/modules/eudr/backend/eudr/statements/create/page.tsx +1 -0
  372. package/src/modules/eudr/backend/eudr/statements/page.tsx +2 -1
  373. package/src/modules/eudr/components/MappingSuggestionsDialog.tsx +1 -0
  374. package/src/modules/eudr/components/MitigationActionsSection.tsx +1 -0
  375. package/src/modules/eudr/components/StatementRiskSection.tsx +1 -0
  376. package/src/modules/feature_toggles/backend/feature-toggles/global/[id]/edit/page.tsx +1 -0
  377. package/src/modules/feature_toggles/backend/feature-toggles/global/create/page.tsx +1 -0
  378. package/src/modules/feature_toggles/components/FeatureTogglesTable.tsx +2 -1
  379. package/src/modules/feature_toggles/components/OverridesTable.tsx +2 -1
  380. package/src/modules/inbox_ops/backend/inbox-ops/page.tsx +2 -1
  381. package/src/modules/integrations/backend/integrations/[id]/page.tsx +2 -1
  382. package/src/modules/messages/components/MessagesInboxPageClient.tsx +1 -0
  383. package/src/modules/messages/components/message-detail/panels/MainMessageHeader.tsx +2 -2
  384. package/src/modules/payment_gateways/backend/payment-gateways/page.tsx +1 -0
  385. package/src/modules/planner/backend/planner/availability-rulesets/page.tsx +2 -1
  386. package/src/modules/planner/components/AvailabilityRuleSetForm.tsx +1 -0
  387. package/src/modules/push_notifications/backend/push_notifications/page.tsx +2 -1
  388. package/src/modules/push_notifications/backend/push_notifications/send/page.tsx +1 -0
  389. package/src/modules/query_index/components/QueryIndexesTable.tsx +2 -1
  390. package/src/modules/resources/backend/resources/resource-types/page.tsx +1 -0
  391. package/src/modules/resources/backend/resources/resources/create/page.tsx +1 -0
  392. package/src/modules/resources/backend/resources/resources/page.tsx +1 -0
  393. package/src/modules/resources/components/ResourceCrudForm.tsx +3 -0
  394. package/src/modules/resources/components/ResourceTypeCrudForm.tsx +1 -0
  395. package/src/modules/sales/backend/sales/channels/[channelId]/edit/page.tsx +1 -0
  396. package/src/modules/sales/backend/sales/channels/create/page.tsx +1 -0
  397. package/src/modules/sales/backend/sales/channels/offers/page.tsx +3 -3
  398. package/src/modules/sales/backend/sales/channels/page.tsx +3 -2
  399. package/src/modules/sales/components/channels/ChannelOfferForm.tsx +1 -0
  400. package/src/modules/sales/components/channels/SalesChannelOffersPanel.tsx +2 -2
  401. package/src/modules/sales/components/documents/SalesDocumentForm.tsx +1 -0
  402. package/src/modules/sales/components/documents/SalesDocumentsTable.tsx +3 -2
  403. package/src/modules/shipping_carriers/backend/shipping-carriers/create/page.tsx +2 -1
  404. package/src/modules/staff/backend/staff/leave-requests/page.tsx +2 -1
  405. package/src/modules/staff/backend/staff/my-leave-requests/page.tsx +2 -1
  406. package/src/modules/staff/backend/staff/profile/create/page.tsx +1 -0
  407. package/src/modules/staff/backend/staff/team-members/create/page.tsx +1 -0
  408. package/src/modules/staff/backend/staff/team-members/page.tsx +2 -2
  409. package/src/modules/staff/backend/staff/team-roles/page.tsx +2 -2
  410. package/src/modules/staff/backend/staff/teams/[id]/edit/page.tsx +1 -0
  411. package/src/modules/staff/backend/staff/teams/page.tsx +2 -1
  412. package/src/modules/staff/backend/staff/timesheets/projects/[id]/edit/page.tsx +1 -0
  413. package/src/modules/staff/backend/staff/timesheets/projects/create/page.tsx +1 -0
  414. package/src/modules/staff/backend/staff/timesheets/projects/page.tsx +2 -1
  415. package/src/modules/staff/components/LeaveRequestForm.tsx +1 -0
  416. package/src/modules/staff/components/TeamForm.tsx +1 -0
  417. package/src/modules/staff/components/TeamMemberForm.tsx +3 -0
  418. package/src/modules/staff/components/TeamRoleForm.tsx +1 -0
  419. package/src/modules/warranty_claims/backend/warranty_claims/[id]/edit/page.tsx +1 -0
  420. package/src/modules/warranty_claims/backend/warranty_claims/create/page.tsx +1 -0
  421. package/src/modules/warranty_claims/backend/warranty_claims/registrations/[id]/edit/page.tsx +1 -0
  422. package/src/modules/warranty_claims/backend/warranty_claims/registrations/create/page.tsx +1 -0
  423. package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/[id]/edit/page.tsx +1 -0
  424. package/src/modules/warranty_claims/backend/warranty_claims/troubleshooting-guides/create/page.tsx +1 -0
  425. package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/[id]/edit/page.tsx +1 -0
  426. package/src/modules/warranty_claims/backend/warranty_claims/vendor-policies/create/page.tsx +1 -0
  427. package/src/modules/wms/components/backend/WmsConfigurationPage.tsx +4 -0
  428. package/src/modules/wms/components/backend/WmsInventoryConsolePage.tsx +1 -0
  429. package/src/modules/wms/components/backend/WmsLocationDetailPage.tsx +1 -0
  430. package/src/modules/wms/components/backend/WmsLotDetailPage.tsx +1 -0
  431. package/src/modules/wms/components/backend/WmsLotsListPage.tsx +1 -0
  432. package/src/modules/wms/components/backend/WmsOperationalDashboardPage.tsx +1 -0
  433. package/src/modules/wms/components/backend/WmsSkuDetailPage.tsx +1 -0
  434. package/src/modules/workflows/backend/definitions/[id]/page.tsx +1 -0
  435. package/src/modules/workflows/backend/definitions/create/page.tsx +1 -0
  436. package/src/modules/workflows/backend/definitions/page.tsx +2 -1
  437. package/src/modules/workflows/backend/events/page.tsx +2 -1
  438. package/src/modules/workflows/backend/instances/page.tsx +2 -1
  439. package/src/modules/workflows/backend/tasks/page.tsx +2 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../src/modules/catalog/backend/catalog/categories/%5Bid%5D/edit/page.tsx"],
4
- "sourcesContent": ["\"use client\"\n\nimport * as React from 'react'\nimport { usePathname } from 'next/navigation'\nimport { Page, PageBody } from '@open-mercato/ui/backend/Page'\nimport { CrudForm, type CrudField, type CrudFormGroup } from '@open-mercato/ui/backend/CrudForm'\nimport { apiCall } from '@open-mercato/ui/backend/utils/apiCall'\nimport { updateCrud, deleteCrud } from '@open-mercato/ui/backend/utils/crud'\nimport { createCrudFormError } from '@open-mercato/ui/backend/utils/serverErrors'\nimport { collectCustomFieldValues } from '@open-mercato/ui/backend/utils/customFieldValues'\nimport { ErrorMessage, RecordNotFoundState } from '@open-mercato/ui/backend/detail'\nimport { buildRecordInjectionContext, useSetCurrentRecordInjectionContext } from '@open-mercato/ui/backend/injection/recordContext'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { extractCustomFieldEntries } from '@open-mercato/shared/lib/crud/custom-fields-client'\nimport { E } from '#generated/entities.ids.generated'\nimport { CategorySelect } from '../../../../../components/categories/CategorySelect'\nimport { CategorySlugFieldSync } from '../../../../../components/categories/CategorySlugFieldSync'\nimport { SendObjectMessageDialog } from '@open-mercato/ui/backend/messages'\n\ntype CategoryRow = {\n id: string\n name: string\n slug: string | null\n description: string | null\n parentId: string | null\n isActive: boolean\n updatedAt?: string | null\n updated_at?: string | null\n pathLabel?: string\n}\n\ntype CategoryResponse = {\n items?: CategoryRow[]\n}\n\ntype CategoryFormValues = {\n id?: string\n name: string\n slug?: string\n description?: string\n parentId?: string | null\n isActive?: boolean\n updatedAt?: string | null\n}\n\nasync function submitCategoryUpdate(\n categoryId: string,\n values: CategoryFormValues,\n t: (key: string, fallback?: string) => string,\n) {\n const resolvedId = typeof values.id === 'string' && values.id.length ? values.id : categoryId\n if (!resolvedId) {\n const message = t('catalog.categories.form.errors.idRequired', 'Category identifier is required.')\n throw createCrudFormError(message, { id: message })\n }\n const name = typeof values.name === 'string' ? values.name.trim() : ''\n if (!name) {\n const message = t('catalog.categories.form.errors.name', 'Provide the category name.')\n throw createCrudFormError(message, { name: message })\n }\n const slug = typeof values.slug === 'string' && values.slug.trim().length ? values.slug.trim() : undefined\n const description =\n typeof values.description === 'string' && values.description.trim().length\n ? values.description.trim()\n : undefined\n const parentId =\n typeof values.parentId === 'string' && values.parentId.trim().length\n ? values.parentId.trim()\n : null\n const customFields = collectCustomFieldValues(values as Record<string, unknown>)\n const payload: Record<string, unknown> = {\n id: resolvedId,\n name,\n slug,\n description,\n parentId,\n isActive: values.isActive !== false,\n }\n if (Object.keys(customFields).length > 0) payload.customFields = customFields\n await updateCrud('catalog/categories', payload)\n}\n\nexport default function EditCatalogCategoryPage({ params }: { params?: { id?: string } }) {\n const categoryId = params?.id ?? ''\n const t = useT()\n const pathname = usePathname()\n const [initialValues, setInitialValues] = React.useState<CategoryFormValues | null>(null)\n const [pathLabel, setPathLabel] = React.useState<string>('')\n const [loading, setLoading] = React.useState<boolean>(true)\n const [error, setError] = React.useState<string | null>(null)\n const [isNotFound, setIsNotFound] = React.useState<boolean>(false)\n\n React.useEffect(() => {\n if (!categoryId) return\n let cancelled = false\n async function load() {\n setLoading(true)\n setError(null)\n setIsNotFound(false)\n try {\n const { ok, status, result } = await apiCall<CategoryResponse>(\n `/api/catalog/categories?view=manage&ids=${encodeURIComponent(categoryId)}&status=all&page=1&pageSize=1`,\n )\n if (!ok) {\n if (status === 404) {\n if (!cancelled) setIsNotFound(true)\n return\n }\n throw new Error(t('catalog.categories.form.errors.load', 'Failed to load category'))\n }\n const record = Array.isArray(result?.items) ? result.items?.[0] : null\n if (!record) {\n if (!cancelled) setIsNotFound(true)\n return\n }\n if (cancelled) return\n const customValues = extractCustomFieldEntries(record as Record<string, unknown>)\n setInitialValues({\n id: record.id,\n name: record.name,\n slug: record.slug ?? '',\n description: record.description ?? '',\n parentId: record.parentId ?? '',\n isActive: record.isActive,\n updatedAt: record.updatedAt ?? record.updated_at ?? null,\n ...customValues,\n })\n setPathLabel(record.pathLabel ?? '')\n } catch (err) {\n if (!cancelled) {\n const fallback = t('catalog.categories.form.errors.load', 'Failed to load category')\n const message = err instanceof Error ? err.message : fallback\n setError(message)\n }\n } finally {\n if (!cancelled) setLoading(false)\n }\n }\n load()\n return () => {\n cancelled = true\n }\n }, [categoryId, t])\n\n const fields = React.useMemo<CrudField[]>(() => [\n {\n id: 'name',\n label: t('catalog.categories.form.field.name', 'Name'),\n type: 'text',\n required: true,\n placeholder: t('catalog.categories.form.field.namePlaceholder', 'e.g., Footwear'),\n },\n {\n id: 'slug',\n label: t('catalog.categories.form.field.slug', 'Slug'),\n type: 'text',\n description: t('catalog.categories.form.field.slugHelp', 'Lowercase identifier for URLs or imports.'),\n },\n {\n id: 'description',\n label: t('catalog.categories.form.field.description', 'Description'),\n type: 'textarea',\n },\n {\n id: 'parentId',\n label: t('catalog.categories.form.field.parent', 'Parent'),\n type: 'custom',\n component: ({ id, value, setValue }) => (\n <CategorySelect\n id={id}\n value={typeof value === 'string' ? value : null}\n onChange={(next) => setValue(next ?? '')}\n includeEmptyOption\n className=\"w-full h-9 rounded border px-2 text-sm\"\n />\n ),\n },\n {\n id: 'isActive',\n label: t('catalog.categories.form.field.isActive', 'Active'),\n type: 'checkbox',\n },\n ], [t])\n\n const groups = React.useMemo<CrudFormGroup[]>(() => [\n {\n id: 'details',\n title: t('catalog.categories.form.group.details', 'Details'),\n column: 1,\n fields: ['name', 'slug', 'description', 'parentId', 'isActive'],\n component: (ctx) => <CategorySlugFieldSync {...ctx} />,\n },\n {\n id: 'custom',\n title: t('catalog.categories.form.group.custom', 'Custom data'),\n column: 2,\n kind: 'customFields',\n },\n ], [t])\n\n // Publish page-load record context to the AppShell-owned `backend:record:current`\n // mount so the enterprise record_locks widget resolves `catalog.category` + id\n // explicitly. The resourceKind mirrors the CrudForm `versionHistory` so the held\n // lock matches the save-time conflict surface for the same category.\n useSetCurrentRecordInjectionContext(\n buildRecordInjectionContext({\n resourceKind: 'catalog.category',\n resourceId: categoryId || null,\n updatedAt: initialValues?.updatedAt ?? null,\n data: initialValues as Record<string, unknown> | null,\n path: pathname,\n }),\n )\n\n if (!categoryId) {\n return (\n <Page>\n <PageBody>\n <p className=\"text-sm text-destructive\">\n {t('catalog.categories.form.errors.idRequired', 'Category identifier is required.')}\n </p>\n </PageBody>\n </Page>\n )\n }\n\n if (isNotFound) {\n return (\n <Page>\n <PageBody>\n <RecordNotFoundState\n label={t('catalog.categories.form.errors.notFound', 'Category not found')}\n backHref=\"/backend/catalog/categories\"\n backLabel={t('catalog.categories.form.actions.backToList', 'Back to categories')}\n />\n </PageBody>\n </Page>\n )\n }\n\n if (error && !loading) {\n return (\n <Page>\n <PageBody>\n <ErrorMessage label={error} />\n </PageBody>\n </Page>\n )\n }\n\n return (\n <Page>\n <PageBody>\n <CrudForm<CategoryFormValues>\n title={t('catalog.categories.form.editTitle', 'Edit category')}\n backHref=\"/backend/catalog/categories\"\n versionHistory={{ resourceKind: 'catalog.category', resourceId: categoryId ? String(categoryId) : '' }}\n fields={fields}\n groups={groups}\n entityId={E.catalog.catalog_product_category}\n initialValues={initialValues ?? { id: categoryId, name: '', slug: '', description: '', parentId: '', isActive: true }}\n optimisticLockUpdatedAt={initialValues?.updatedAt}\n isLoading={loading}\n loadingMessage={t('catalog.categories.form.loading', 'Loading category...')}\n submitLabel={t('catalog.categories.form.action.save', 'Save')}\n cancelHref=\"/backend/catalog/categories\"\n successRedirect={`/backend/catalog/categories?flash=${encodeURIComponent(t('catalog.categories.flash.updated', 'Category updated'))}&type=success`}\n extraActions={(\n <>\n <SendObjectMessageDialog\n object={{\n entityModule: 'catalog',\n entityType: 'category',\n entityId: categoryId,\n previewData: { title: initialValues?.name ?? categoryId },\n }}\n viewHref={`/backend/catalog/categories/${categoryId}/edit`}\n />\n {pathLabel ? (\n <span className=\"text-xs text-muted-foreground\">\n {t('catalog.categories.form.pathLabel', { path: pathLabel })}\n </span>\n ) : null}\n </>\n )}\n onSubmit={async (values) => {\n await submitCategoryUpdate(categoryId, values, t)\n }}\n onDelete={async () => {\n await deleteCrud('catalog/categories', categoryId, {\n errorMessage: t('catalog.categories.form.errors.delete', 'Failed to delete category'),\n })\n }}\n deleteRedirect={`/backend/catalog/categories?flash=${encodeURIComponent(t('catalog.categories.flash.deleted', 'Category archived'))}&type=success`}\n />\n </PageBody>\n </Page>\n )\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["\"use client\"\n\nimport * as React from 'react'\nimport { usePathname } from 'next/navigation'\nimport { Page, PageBody } from '@open-mercato/ui/backend/Page'\nimport { CrudForm, type CrudField, type CrudFormGroup } from '@open-mercato/ui/backend/CrudForm'\nimport { apiCall } from '@open-mercato/ui/backend/utils/apiCall'\nimport { updateCrud, deleteCrud } from '@open-mercato/ui/backend/utils/crud'\nimport { createCrudFormError } from '@open-mercato/ui/backend/utils/serverErrors'\nimport { collectCustomFieldValues } from '@open-mercato/ui/backend/utils/customFieldValues'\nimport { ErrorMessage, RecordNotFoundState } from '@open-mercato/ui/backend/detail'\nimport { buildRecordInjectionContext, useSetCurrentRecordInjectionContext } from '@open-mercato/ui/backend/injection/recordContext'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { extractCustomFieldEntries } from '@open-mercato/shared/lib/crud/custom-fields-client'\nimport { E } from '#generated/entities.ids.generated'\nimport { CategorySelect } from '../../../../../components/categories/CategorySelect'\nimport { CategorySlugFieldSync } from '../../../../../components/categories/CategorySlugFieldSync'\nimport { SendObjectMessageDialog } from '@open-mercato/ui/backend/messages'\n\ntype CategoryRow = {\n id: string\n name: string\n slug: string | null\n description: string | null\n parentId: string | null\n isActive: boolean\n updatedAt?: string | null\n updated_at?: string | null\n pathLabel?: string\n}\n\ntype CategoryResponse = {\n items?: CategoryRow[]\n}\n\ntype CategoryFormValues = {\n id?: string\n name: string\n slug?: string\n description?: string\n parentId?: string | null\n isActive?: boolean\n updatedAt?: string | null\n}\n\nasync function submitCategoryUpdate(\n categoryId: string,\n values: CategoryFormValues,\n t: (key: string, fallback?: string) => string,\n) {\n const resolvedId = typeof values.id === 'string' && values.id.length ? values.id : categoryId\n if (!resolvedId) {\n const message = t('catalog.categories.form.errors.idRequired', 'Category identifier is required.')\n throw createCrudFormError(message, { id: message })\n }\n const name = typeof values.name === 'string' ? values.name.trim() : ''\n if (!name) {\n const message = t('catalog.categories.form.errors.name', 'Provide the category name.')\n throw createCrudFormError(message, { name: message })\n }\n const slug = typeof values.slug === 'string' && values.slug.trim().length ? values.slug.trim() : undefined\n const description =\n typeof values.description === 'string' && values.description.trim().length\n ? values.description.trim()\n : undefined\n const parentId =\n typeof values.parentId === 'string' && values.parentId.trim().length\n ? values.parentId.trim()\n : null\n const customFields = collectCustomFieldValues(values as Record<string, unknown>)\n const payload: Record<string, unknown> = {\n id: resolvedId,\n name,\n slug,\n description,\n parentId,\n isActive: values.isActive !== false,\n }\n if (Object.keys(customFields).length > 0) payload.customFields = customFields\n await updateCrud('catalog/categories', payload)\n}\n\nexport default function EditCatalogCategoryPage({ params }: { params?: { id?: string } }) {\n const categoryId = params?.id ?? ''\n const t = useT()\n const pathname = usePathname()\n const [initialValues, setInitialValues] = React.useState<CategoryFormValues | null>(null)\n const [pathLabel, setPathLabel] = React.useState<string>('')\n const [loading, setLoading] = React.useState<boolean>(true)\n const [error, setError] = React.useState<string | null>(null)\n const [isNotFound, setIsNotFound] = React.useState<boolean>(false)\n\n React.useEffect(() => {\n if (!categoryId) return\n let cancelled = false\n async function load() {\n setLoading(true)\n setError(null)\n setIsNotFound(false)\n try {\n const { ok, status, result } = await apiCall<CategoryResponse>(\n `/api/catalog/categories?view=manage&ids=${encodeURIComponent(categoryId)}&status=all&page=1&pageSize=1`,\n )\n if (!ok) {\n if (status === 404) {\n if (!cancelled) setIsNotFound(true)\n return\n }\n throw new Error(t('catalog.categories.form.errors.load', 'Failed to load category'))\n }\n const record = Array.isArray(result?.items) ? result.items?.[0] : null\n if (!record) {\n if (!cancelled) setIsNotFound(true)\n return\n }\n if (cancelled) return\n const customValues = extractCustomFieldEntries(record as Record<string, unknown>)\n setInitialValues({\n id: record.id,\n name: record.name,\n slug: record.slug ?? '',\n description: record.description ?? '',\n parentId: record.parentId ?? '',\n isActive: record.isActive,\n updatedAt: record.updatedAt ?? record.updated_at ?? null,\n ...customValues,\n })\n setPathLabel(record.pathLabel ?? '')\n } catch (err) {\n if (!cancelled) {\n const fallback = t('catalog.categories.form.errors.load', 'Failed to load category')\n const message = err instanceof Error ? err.message : fallback\n setError(message)\n }\n } finally {\n if (!cancelled) setLoading(false)\n }\n }\n load()\n return () => {\n cancelled = true\n }\n }, [categoryId, t])\n\n const fields = React.useMemo<CrudField[]>(() => [\n {\n id: 'name',\n label: t('catalog.categories.form.field.name', 'Name'),\n type: 'text',\n required: true,\n placeholder: t('catalog.categories.form.field.namePlaceholder', 'e.g., Footwear'),\n },\n {\n id: 'slug',\n label: t('catalog.categories.form.field.slug', 'Slug'),\n type: 'text',\n description: t('catalog.categories.form.field.slugHelp', 'Lowercase identifier for URLs or imports.'),\n },\n {\n id: 'description',\n label: t('catalog.categories.form.field.description', 'Description'),\n type: 'textarea',\n },\n {\n id: 'parentId',\n label: t('catalog.categories.form.field.parent', 'Parent'),\n type: 'custom',\n component: ({ id, value, setValue }) => (\n <CategorySelect\n id={id}\n value={typeof value === 'string' ? value : null}\n onChange={(next) => setValue(next ?? '')}\n includeEmptyOption\n className=\"w-full h-9 rounded border px-2 text-sm\"\n />\n ),\n },\n {\n id: 'isActive',\n label: t('catalog.categories.form.field.isActive', 'Active'),\n type: 'checkbox',\n },\n ], [t])\n\n const groups = React.useMemo<CrudFormGroup[]>(() => [\n {\n id: 'details',\n title: t('catalog.categories.form.group.details', 'Details'),\n column: 1,\n fields: ['name', 'slug', 'description', 'parentId', 'isActive'],\n component: (ctx) => <CategorySlugFieldSync {...ctx} />,\n },\n {\n id: 'custom',\n title: t('catalog.categories.form.group.custom', 'Custom data'),\n column: 2,\n kind: 'customFields',\n },\n ], [t])\n\n // Publish page-load record context to the AppShell-owned `backend:record:current`\n // mount so the enterprise record_locks widget resolves `catalog.category` + id\n // explicitly. The resourceKind mirrors the CrudForm `versionHistory` so the held\n // lock matches the save-time conflict surface for the same category.\n useSetCurrentRecordInjectionContext(\n buildRecordInjectionContext({\n resourceKind: 'catalog.category',\n resourceId: categoryId || null,\n updatedAt: initialValues?.updatedAt ?? null,\n data: initialValues as Record<string, unknown> | null,\n path: pathname,\n }),\n )\n\n if (!categoryId) {\n return (\n <Page>\n <PageBody>\n <p className=\"text-sm text-destructive\">\n {t('catalog.categories.form.errors.idRequired', 'Category identifier is required.')}\n </p>\n </PageBody>\n </Page>\n )\n }\n\n if (isNotFound) {\n return (\n <Page>\n <PageBody>\n <RecordNotFoundState\n label={t('catalog.categories.form.errors.notFound', 'Category not found')}\n backHref=\"/backend/catalog/categories\"\n backLabel={t('catalog.categories.form.actions.backToList', 'Back to categories')}\n />\n </PageBody>\n </Page>\n )\n }\n\n if (error && !loading) {\n return (\n <Page>\n <PageBody>\n <ErrorMessage label={error} />\n </PageBody>\n </Page>\n )\n }\n\n return (\n <Page>\n <PageBody>\n <CrudForm<CategoryFormValues>\n title={t('catalog.categories.form.editTitle', 'Edit category')}\n titleHeadingLevel={1}\n backHref=\"/backend/catalog/categories\"\n versionHistory={{ resourceKind: 'catalog.category', resourceId: categoryId ? String(categoryId) : '' }}\n fields={fields}\n groups={groups}\n entityId={E.catalog.catalog_product_category}\n initialValues={initialValues ?? { id: categoryId, name: '', slug: '', description: '', parentId: '', isActive: true }}\n optimisticLockUpdatedAt={initialValues?.updatedAt}\n isLoading={loading}\n loadingMessage={t('catalog.categories.form.loading', 'Loading category...')}\n submitLabel={t('catalog.categories.form.action.save', 'Save')}\n cancelHref=\"/backend/catalog/categories\"\n successRedirect={`/backend/catalog/categories?flash=${encodeURIComponent(t('catalog.categories.flash.updated', 'Category updated'))}&type=success`}\n extraActions={(\n <>\n <SendObjectMessageDialog\n object={{\n entityModule: 'catalog',\n entityType: 'category',\n entityId: categoryId,\n previewData: { title: initialValues?.name ?? categoryId },\n }}\n viewHref={`/backend/catalog/categories/${categoryId}/edit`}\n />\n {pathLabel ? (\n <span className=\"text-xs text-muted-foreground\">\n {t('catalog.categories.form.pathLabel', { path: pathLabel })}\n </span>\n ) : null}\n </>\n )}\n onSubmit={async (values) => {\n await submitCategoryUpdate(categoryId, values, t)\n }}\n onDelete={async () => {\n await deleteCrud('catalog/categories', categoryId, {\n errorMessage: t('catalog.categories.form.errors.delete', 'Failed to delete category'),\n })\n }}\n deleteRedirect={`/backend/catalog/categories?flash=${encodeURIComponent(t('catalog.categories.flash.deleted', 'Category archived'))}&type=success`}\n />\n </PageBody>\n </Page>\n )\n}\n"],
5
+ "mappings": ";AAwKQ,SAqGI,UArGJ,KAqGI,YArGJ;AAtKR,YAAY,WAAW;AACvB,SAAS,mBAAmB;AAC5B,SAAS,MAAM,gBAAgB;AAC/B,SAAS,gBAAoD;AAC7D,SAAS,eAAe;AACxB,SAAS,YAAY,kBAAkB;AACvC,SAAS,2BAA2B;AACpC,SAAS,gCAAgC;AACzC,SAAS,cAAc,2BAA2B;AAClD,SAAS,6BAA6B,2CAA2C;AACjF,SAAS,YAAY;AACrB,SAAS,iCAAiC;AAC1C,SAAS,SAAS;AAClB,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AACtC,SAAS,+BAA+B;AA4BxC,eAAe,qBACb,YACA,QACA,GACA;AACA,QAAM,aAAa,OAAO,OAAO,OAAO,YAAY,OAAO,GAAG,SAAS,OAAO,KAAK;AACnF,MAAI,CAAC,YAAY;AACf,UAAM,UAAU,EAAE,6CAA6C,kCAAkC;AACjG,UAAM,oBAAoB,SAAS,EAAE,IAAI,QAAQ,CAAC;AAAA,EACpD;AACA,QAAM,OAAO,OAAO,OAAO,SAAS,WAAW,OAAO,KAAK,KAAK,IAAI;AACpE,MAAI,CAAC,MAAM;AACT,UAAM,UAAU,EAAE,uCAAuC,4BAA4B;AACrF,UAAM,oBAAoB,SAAS,EAAE,MAAM,QAAQ,CAAC;AAAA,EACtD;AACA,QAAM,OAAO,OAAO,OAAO,SAAS,YAAY,OAAO,KAAK,KAAK,EAAE,SAAS,OAAO,KAAK,KAAK,IAAI;AACjG,QAAM,cACJ,OAAO,OAAO,gBAAgB,YAAY,OAAO,YAAY,KAAK,EAAE,SAChE,OAAO,YAAY,KAAK,IACxB;AACN,QAAM,WACJ,OAAO,OAAO,aAAa,YAAY,OAAO,SAAS,KAAK,EAAE,SAC1D,OAAO,SAAS,KAAK,IACrB;AACN,QAAM,eAAe,yBAAyB,MAAiC;AAC/E,QAAM,UAAmC;AAAA,IACvC,IAAI;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU,OAAO,aAAa;AAAA,EAChC;AACA,MAAI,OAAO,KAAK,YAAY,EAAE,SAAS,EAAG,SAAQ,eAAe;AACjE,QAAM,WAAW,sBAAsB,OAAO;AAChD;AAEe,SAAR,wBAAyC,EAAE,OAAO,GAAiC;AACxF,QAAM,aAAa,QAAQ,MAAM;AACjC,QAAM,IAAI,KAAK;AACf,QAAM,WAAW,YAAY;AAC7B,QAAM,CAAC,eAAe,gBAAgB,IAAI,MAAM,SAAoC,IAAI;AACxF,QAAM,CAAC,WAAW,YAAY,IAAI,MAAM,SAAiB,EAAE;AAC3D,QAAM,CAAC,SAAS,UAAU,IAAI,MAAM,SAAkB,IAAI;AAC1D,QAAM,CAAC,OAAO,QAAQ,IAAI,MAAM,SAAwB,IAAI;AAC5D,QAAM,CAAC,YAAY,aAAa,IAAI,MAAM,SAAkB,KAAK;AAEjE,QAAM,UAAU,MAAM;AACpB,QAAI,CAAC,WAAY;AACjB,QAAI,YAAY;AAChB,mBAAe,OAAO;AACpB,iBAAW,IAAI;AACf,eAAS,IAAI;AACb,oBAAc,KAAK;AACnB,UAAI;AACF,cAAM,EAAE,IAAI,QAAQ,OAAO,IAAI,MAAM;AAAA,UACnC,2CAA2C,mBAAmB,UAAU,CAAC;AAAA,QAC3E;AACA,YAAI,CAAC,IAAI;AACP,cAAI,WAAW,KAAK;AAClB,gBAAI,CAAC,UAAW,eAAc,IAAI;AAClC;AAAA,UACF;AACA,gBAAM,IAAI,MAAM,EAAE,uCAAuC,yBAAyB,CAAC;AAAA,QACrF;AACA,cAAM,SAAS,MAAM,QAAQ,QAAQ,KAAK,IAAI,OAAO,QAAQ,CAAC,IAAI;AAClE,YAAI,CAAC,QAAQ;AACX,cAAI,CAAC,UAAW,eAAc,IAAI;AAClC;AAAA,QACF;AACA,YAAI,UAAW;AACf,cAAM,eAAe,0BAA0B,MAAiC;AAChF,yBAAiB;AAAA,UACf,IAAI,OAAO;AAAA,UACX,MAAM,OAAO;AAAA,UACb,MAAM,OAAO,QAAQ;AAAA,UACrB,aAAa,OAAO,eAAe;AAAA,UACnC,UAAU,OAAO,YAAY;AAAA,UAC7B,UAAU,OAAO;AAAA,UACjB,WAAW,OAAO,aAAa,OAAO,cAAc;AAAA,UACpD,GAAG;AAAA,QACL,CAAC;AACD,qBAAa,OAAO,aAAa,EAAE;AAAA,MACrC,SAAS,KAAK;AACZ,YAAI,CAAC,WAAW;AACd,gBAAM,WAAW,EAAE,uCAAuC,yBAAyB;AACnF,gBAAM,UAAU,eAAe,QAAQ,IAAI,UAAU;AACrD,mBAAS,OAAO;AAAA,QAClB;AAAA,MACF,UAAE;AACA,YAAI,CAAC,UAAW,YAAW,KAAK;AAAA,MAClC;AAAA,IACF;AACA,SAAK;AACL,WAAO,MAAM;AACX,kBAAY;AAAA,IACd;AAAA,EACF,GAAG,CAAC,YAAY,CAAC,CAAC;AAElB,QAAM,SAAS,MAAM,QAAqB,MAAM;AAAA,IAC9C;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,sCAAsC,MAAM;AAAA,MACrD,MAAM;AAAA,MACN,UAAU;AAAA,MACV,aAAa,EAAE,iDAAiD,gBAAgB;AAAA,IAClF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,sCAAsC,MAAM;AAAA,MACrD,MAAM;AAAA,MACN,aAAa,EAAE,0CAA0C,2CAA2C;AAAA,IACtG;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,6CAA6C,aAAa;AAAA,MACnE,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,wCAAwC,QAAQ;AAAA,MACzD,MAAM;AAAA,MACN,WAAW,CAAC,EAAE,IAAI,OAAO,SAAS,MAChC;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,OAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,UAC3C,UAAU,CAAC,SAAS,SAAS,QAAQ,EAAE;AAAA,UACvC,oBAAkB;AAAA,UAClB,WAAU;AAAA;AAAA,MACZ;AAAA,IAEJ;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,0CAA0C,QAAQ;AAAA,MAC3D,MAAM;AAAA,IACR;AAAA,EACF,GAAG,CAAC,CAAC,CAAC;AAEN,QAAM,SAAS,MAAM,QAAyB,MAAM;AAAA,IAClD;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,yCAAyC,SAAS;AAAA,MAC3D,QAAQ;AAAA,MACR,QAAQ,CAAC,QAAQ,QAAQ,eAAe,YAAY,UAAU;AAAA,MAC9D,WAAW,CAAC,QAAQ,oBAAC,yBAAuB,GAAG,KAAK;AAAA,IACtD;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,wCAAwC,aAAa;AAAA,MAC9D,QAAQ;AAAA,MACR,MAAM;AAAA,IACR;AAAA,EACF,GAAG,CAAC,CAAC,CAAC;AAMN;AAAA,IACE,4BAA4B;AAAA,MAC1B,cAAc;AAAA,MACd,YAAY,cAAc;AAAA,MAC1B,WAAW,eAAe,aAAa;AAAA,MACvC,MAAM;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAEA,MAAI,CAAC,YAAY;AACf,WACE,oBAAC,QACC,8BAAC,YACC,8BAAC,OAAE,WAAU,4BACV,YAAE,6CAA6C,kCAAkC,GACpF,GACF,GACF;AAAA,EAEJ;AAEA,MAAI,YAAY;AACd,WACE,oBAAC,QACC,8BAAC,YACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,EAAE,2CAA2C,oBAAoB;AAAA,QACxE,UAAS;AAAA,QACT,WAAW,EAAE,8CAA8C,oBAAoB;AAAA;AAAA,IACjF,GACF,GACF;AAAA,EAEJ;AAEA,MAAI,SAAS,CAAC,SAAS;AACrB,WACE,oBAAC,QACC,8BAAC,YACC,8BAAC,gBAAa,OAAO,OAAO,GAC9B,GACF;AAAA,EAEJ;AAEA,SACE,oBAAC,QACC,8BAAC,YACC;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,EAAE,qCAAqC,eAAe;AAAA,MAC7D,mBAAmB;AAAA,MACnB,UAAS;AAAA,MACT,gBAAgB,EAAE,cAAc,oBAAoB,YAAY,aAAa,OAAO,UAAU,IAAI,GAAG;AAAA,MACrG;AAAA,MACA;AAAA,MACA,UAAU,EAAE,QAAQ;AAAA,MACpB,eAAe,iBAAiB,EAAE,IAAI,YAAY,MAAM,IAAI,MAAM,IAAI,aAAa,IAAI,UAAU,IAAI,UAAU,KAAK;AAAA,MACpH,yBAAyB,eAAe;AAAA,MACxC,WAAW;AAAA,MACX,gBAAgB,EAAE,mCAAmC,qBAAqB;AAAA,MAC1E,aAAa,EAAE,uCAAuC,MAAM;AAAA,MAC5D,YAAW;AAAA,MACX,iBAAiB,qCAAqC,mBAAmB,EAAE,oCAAoC,kBAAkB,CAAC,CAAC;AAAA,MACnI,cACE,iCACE;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,QAAQ;AAAA,cACN,cAAc;AAAA,cACd,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,aAAa,EAAE,OAAO,eAAe,QAAQ,WAAW;AAAA,YAC1D;AAAA,YACA,UAAU,+BAA+B,UAAU;AAAA;AAAA,QACrD;AAAA,QACC,YACC,oBAAC,UAAK,WAAU,iCACb,YAAE,qCAAqC,EAAE,MAAM,UAAU,CAAC,GAC7D,IACE;AAAA,SACN;AAAA,MAEF,UAAU,OAAO,WAAW;AAC1B,cAAM,qBAAqB,YAAY,QAAQ,CAAC;AAAA,MAClD;AAAA,MACA,UAAU,YAAY;AACpB,cAAM,WAAW,sBAAsB,YAAY;AAAA,UACjD,cAAc,EAAE,yCAAyC,2BAA2B;AAAA,QACtF,CAAC;AAAA,MACH;AAAA,MACA,gBAAgB,qCAAqC,mBAAmB,EAAE,oCAAoC,mBAAmB,CAAC,CAAC;AAAA;AAAA,EACrI,GACF,GACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -95,6 +95,7 @@ function CreateCatalogCategoryPage() {
95
95
  CrudForm,
96
96
  {
97
97
  title: t("catalog.categories.form.createTitle", "Create category"),
98
+ titleHeadingLevel: 1,
98
99
  backHref: "/backend/catalog/categories",
99
100
  fields,
100
101
  groups,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/modules/catalog/backend/catalog/categories/create/page.tsx"],
4
- "sourcesContent": ["\"use client\"\n\nimport * as React from 'react'\nimport { Page, PageBody } from '@open-mercato/ui/backend/Page'\nimport { CrudForm, type CrudField, type CrudFormGroup } from '@open-mercato/ui/backend/CrudForm'\nimport { createCrud } from '@open-mercato/ui/backend/utils/crud'\nimport { createCrudFormError } from '@open-mercato/ui/backend/utils/serverErrors'\nimport { collectCustomFieldValues } from '@open-mercato/ui/backend/utils/customFieldValues'\nimport { slugify } from '@open-mercato/shared/lib/slugify'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { E } from '#generated/entities.ids.generated'\nimport { CategorySelect } from '../../../../components/categories/CategorySelect'\nimport { CategorySlugFieldSync } from '../../../../components/categories/CategorySlugFieldSync'\n\ntype CategoryFormValues = {\n name: string\n slug?: string\n description?: string\n parentId?: string | null\n isActive?: boolean\n}\n\nasync function submitCategoryCreate(values: CategoryFormValues, t: (key: string, fallback?: string) => string) {\n const name = typeof values.name === 'string' ? values.name.trim() : ''\n if (!name) {\n const message = t('catalog.categories.form.errors.name', 'Provide the category name.')\n throw createCrudFormError(message, { name: message })\n }\n const providedSlug = typeof values.slug === 'string' ? values.slug.trim() : ''\n const generatedSlug = providedSlug.length ? providedSlug : slugify(name)\n const slug = generatedSlug.length ? generatedSlug : undefined\n const description =\n typeof values.description === 'string' && values.description.trim().length\n ? values.description.trim()\n : undefined\n const parentId =\n typeof values.parentId === 'string' && values.parentId.trim().length\n ? values.parentId.trim()\n : null\n const customFields = collectCustomFieldValues(values as Record<string, unknown>)\n const payload: Record<string, unknown> = {\n name,\n slug,\n description,\n parentId,\n isActive: values.isActive !== false,\n }\n if (Object.keys(customFields).length > 0) payload.customFields = customFields\n await createCrud('catalog/categories', payload)\n}\n\nexport default function CreateCatalogCategoryPage() {\n const t = useT()\n const fields = React.useMemo<CrudField[]>(() => [\n {\n id: 'name',\n label: t('catalog.categories.form.field.name', 'Name'),\n type: 'text',\n required: true,\n placeholder: t('catalog.categories.form.field.namePlaceholder', 'e.g., Footwear'),\n },\n {\n id: 'slug',\n label: t('catalog.categories.form.field.slug', 'Slug'),\n type: 'text',\n description: t('catalog.categories.form.field.slugHelp', 'Lowercase identifier for URLs or imports.'),\n },\n {\n id: 'description',\n label: t('catalog.categories.form.field.description', 'Description'),\n type: 'textarea',\n },\n {\n id: 'parentId',\n label: t('catalog.categories.form.field.parent', 'Parent'),\n type: 'custom',\n component: ({ id, value, setValue }) => (\n <CategorySelect\n id={id}\n value={typeof value === 'string' ? value : null}\n onChange={(next) => setValue(next ?? '')}\n includeEmptyOption\n className=\"w-full h-9 rounded border px-2 text-sm\"\n />\n ),\n },\n {\n id: 'isActive',\n label: t('catalog.categories.form.field.isActive', 'Active'),\n type: 'checkbox',\n },\n ], [t])\n\n const groups = React.useMemo<CrudFormGroup[]>(() => [\n {\n id: 'details',\n title: t('catalog.categories.form.group.details', 'Details'),\n column: 1,\n fields: ['name', 'slug', 'description', 'parentId', 'isActive'],\n component: (ctx) => <CategorySlugFieldSync {...ctx} />,\n },\n {\n id: 'custom',\n title: t('catalog.categories.form.group.custom', 'Custom data'),\n column: 2,\n kind: 'customFields',\n },\n ], [t])\n\n const successMessage = encodeURIComponent(t('catalog.categories.flash.created', 'Category created'))\n\n return (\n <Page>\n <PageBody>\n <CrudForm<CategoryFormValues>\n title={t('catalog.categories.form.createTitle', 'Create category')}\n backHref=\"/backend/catalog/categories\"\n fields={fields}\n groups={groups}\n entityId={E.catalog.catalog_product_category}\n initialValues={{ name: '', slug: '', description: '', parentId: '', isActive: true }}\n submitLabel={t('catalog.categories.form.action.create', 'Create')}\n cancelHref=\"/backend/catalog/categories\"\n successRedirect={`/backend/catalog/categories?flash=${successMessage}&type=success`}\n onSubmit={async (values) => {\n await submitCategoryCreate(values, t)\n }}\n />\n </PageBody>\n </Page>\n )\n}\n"],
5
- "mappings": ";AA6EQ;AA3ER,YAAY,WAAW;AACvB,SAAS,MAAM,gBAAgB;AAC/B,SAAS,gBAAoD;AAC7D,SAAS,kBAAkB;AAC3B,SAAS,2BAA2B;AACpC,SAAS,gCAAgC;AACzC,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,SAAS;AAClB,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AAUtC,eAAe,qBAAqB,QAA4B,GAA+C;AAC7G,QAAM,OAAO,OAAO,OAAO,SAAS,WAAW,OAAO,KAAK,KAAK,IAAI;AACpE,MAAI,CAAC,MAAM;AACT,UAAM,UAAU,EAAE,uCAAuC,4BAA4B;AACrF,UAAM,oBAAoB,SAAS,EAAE,MAAM,QAAQ,CAAC;AAAA,EACtD;AACA,QAAM,eAAe,OAAO,OAAO,SAAS,WAAW,OAAO,KAAK,KAAK,IAAI;AAC5E,QAAM,gBAAgB,aAAa,SAAS,eAAe,QAAQ,IAAI;AACvE,QAAM,OAAO,cAAc,SAAS,gBAAgB;AACpD,QAAM,cACJ,OAAO,OAAO,gBAAgB,YAAY,OAAO,YAAY,KAAK,EAAE,SAChE,OAAO,YAAY,KAAK,IACxB;AACN,QAAM,WACJ,OAAO,OAAO,aAAa,YAAY,OAAO,SAAS,KAAK,EAAE,SAC1D,OAAO,SAAS,KAAK,IACrB;AACN,QAAM,eAAe,yBAAyB,MAAiC;AAC/E,QAAM,UAAmC;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU,OAAO,aAAa;AAAA,EAChC;AACA,MAAI,OAAO,KAAK,YAAY,EAAE,SAAS,EAAG,SAAQ,eAAe;AACjE,QAAM,WAAW,sBAAsB,OAAO;AAChD;AAEe,SAAR,4BAA6C;AAClD,QAAM,IAAI,KAAK;AACf,QAAM,SAAS,MAAM,QAAqB,MAAM;AAAA,IAC9C;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,sCAAsC,MAAM;AAAA,MACrD,MAAM;AAAA,MACN,UAAU;AAAA,MACV,aAAa,EAAE,iDAAiD,gBAAgB;AAAA,IAClF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,sCAAsC,MAAM;AAAA,MACrD,MAAM;AAAA,MACN,aAAa,EAAE,0CAA0C,2CAA2C;AAAA,IACtG;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,6CAA6C,aAAa;AAAA,MACnE,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,wCAAwC,QAAQ;AAAA,MACzD,MAAM;AAAA,MACN,WAAW,CAAC,EAAE,IAAI,OAAO,SAAS,MAChC;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,OAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,UAC3C,UAAU,CAAC,SAAS,SAAS,QAAQ,EAAE;AAAA,UACvC,oBAAkB;AAAA,UAClB,WAAU;AAAA;AAAA,MACZ;AAAA,IAEJ;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,0CAA0C,QAAQ;AAAA,MAC3D,MAAM;AAAA,IACR;AAAA,EACF,GAAG,CAAC,CAAC,CAAC;AAEN,QAAM,SAAS,MAAM,QAAyB,MAAM;AAAA,IAClD;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,yCAAyC,SAAS;AAAA,MAC3D,QAAQ;AAAA,MACR,QAAQ,CAAC,QAAQ,QAAQ,eAAe,YAAY,UAAU;AAAA,MAC9D,WAAW,CAAC,QAAQ,oBAAC,yBAAuB,GAAG,KAAK;AAAA,IACtD;AAAA,IACA;AAAA,MACE,IAAI;AAAA,MACJ,OAAO,EAAE,wCAAwC,aAAa;AAAA,MAC9D,QAAQ;AAAA,MACR,MAAM;AAAA,IACR;AAAA,EACF,GAAG,CAAC,CAAC,CAAC;AAEN,QAAM,iBAAiB,mBAAmB,EAAE,oCAAoC,kBAAkB,CAAC;AAEnG,SACE,oBAAC,QACC,8BAAC,YACC;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,EAAE,uCAAuC,iBAAiB;AAAA,MACjE,UAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA,UAAU,EAAE,QAAQ;AAAA,MACpB,eAAe,EAAE,MAAM,IAAI,MAAM,IAAI,aAAa,IAAI,UAAU,IAAI,UAAU,KAAK;AAAA,MACnF,aAAa,EAAE,yCAAyC,QAAQ;AAAA,MAChE,YAAW;AAAA,MACX,iBAAiB,qCAAqC,cAAc;AAAA,MACpE,UAAU,OAAO,WAAW;AAC1B,cAAM,qBAAqB,QAAQ,CAAC;AAAA,MACtC;AAAA;AAAA,EACF,GACF,GACF;AAEJ;",
4
+ "sourcesContent": ["\"use client\"\n\nimport * as React from 'react'\nimport { Page, PageBody } from '@open-mercato/ui/backend/Page'\nimport { CrudForm, type CrudField, type CrudFormGroup } from '@open-mercato/ui/backend/CrudForm'\nimport { createCrud } from '@open-mercato/ui/backend/utils/crud'\nimport { createCrudFormError } from '@open-mercato/ui/backend/utils/serverErrors'\nimport { collectCustomFieldValues } from '@open-mercato/ui/backend/utils/customFieldValues'\nimport { slugify } from '@open-mercato/shared/lib/slugify'\nimport { useT } from '@open-mercato/shared/lib/i18n/context'\nimport { E } from '#generated/entities.ids.generated'\nimport { CategorySelect } from '../../../../components/categories/CategorySelect'\nimport { CategorySlugFieldSync } from '../../../../components/categories/CategorySlugFieldSync'\n\ntype CategoryFormValues = {\n name: string\n slug?: string\n description?: string\n parentId?: string | null\n isActive?: boolean\n}\n\nasync function submitCategoryCreate(values: CategoryFormValues, t: (key: string, fallback?: string) => string) {\n const name = typeof values.name === 'string' ? values.name.trim() : ''\n if (!name) {\n const message = t('catalog.categories.form.errors.name', 'Provide the category name.')\n throw createCrudFormError(message, { name: message })\n }\n const providedSlug = typeof values.slug === 'string' ? values.slug.trim() : ''\n const generatedSlug = providedSlug.length ? providedSlug : slugify(name)\n const slug = generatedSlug.length ? generatedSlug : undefined\n const description =\n typeof values.description === 'string' && values.description.trim().length\n ? values.description.trim()\n : undefined\n const parentId =\n typeof values.parentId === 'string' && values.parentId.trim().length\n ? values.parentId.trim()\n : null\n const customFields = collectCustomFieldValues(values as Record<string, unknown>)\n const payload: Record<string, unknown> = {\n name,\n slug,\n description,\n parentId,\n isActive: values.isActive !== false,\n }\n if (Object.keys(customFields).length > 0) payload.customFields = customFields\n await createCrud('catalog/categories', payload)\n}\n\nexport default function CreateCatalogCategoryPage() {\n const t = useT()\n const fields = React.useMemo<CrudField[]>(() => [\n {\n id: 'name',\n label: t('catalog.categories.form.field.name', 'Name'),\n type: 'text',\n required: true,\n placeholder: t('catalog.categories.form.field.namePlaceholder', 'e.g., Footwear'),\n },\n {\n id: 'slug',\n label: t('catalog.categories.form.field.slug', 'Slug'),\n type: 'text',\n description: t('catalog.categories.form.field.slugHelp', 'Lowercase identifier for URLs or imports.'),\n },\n {\n id: 'description',\n label: t('catalog.categories.form.field.description', 'Description'),\n type: 'textarea',\n },\n {\n id: 'parentId',\n label: t('catalog.categories.form.field.parent', 'Parent'),\n type: 'custom',\n component: ({ id, value, setValue }) => (\n <CategorySelect\n id={id}\n value={typeof value === 'string' ? value : null}\n onChange={(next) => setValue(next ?? '')}\n includeEmptyOption\n className=\"w-full h-9 rounded border px-2 text-sm\"\n />\n ),\n },\n {\n id: 'isActive',\n label: t('catalog.categories.form.field.isActive', 'Active'),\n type: 'checkbox',\n },\n ], [t])\n\n const groups = React.useMemo<CrudFormGroup[]>(() => [\n {\n id: 'details',\n title: t('catalog.categories.form.group.details', 'Details'),\n column: 1,\n fields: ['name', 'slug', 'description', 'parentId', 'isActive'],\n component: (ctx) => <CategorySlugFieldSync {...ctx} />,\n },\n {\n id: 'custom',\n title: t('catalog.categories.form.group.custom', 'Custom data'),\n column: 2,\n kind: 'customFields',\n },\n ], [t])\n\n const successMessage = encodeURIComponent(t('catalog.categories.flash.created', 'Category created'))\n\n return (\n <Page>\n <PageBody>\n <CrudForm<CategoryFormValues>\n title={t('catalog.categories.form.createTitle', 'Create category')}\n titleHeadingLevel={1}\n backHref=\"/backend/catalog/categories\"\n fields={fields}\n groups={groups}\n entityId={E.catalog.catalog_product_category}\n initialValues={{ name: '', slug: '', description: '', parentId: '', isActive: true }}\n submitLabel={t('catalog.categories.form.action.create', 'Create')}\n cancelHref=\"/backend/catalog/categories\"\n successRedirect={`/backend/catalog/categories?flash=${successMessage}&type=success`}\n onSubmit={async (values) => {\n await submitCategoryCreate(values, t)\n }}\n />\n </PageBody>\n </Page>\n )\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1155,6 +1155,7 @@ function EditCatalogProductPage({
1155
1155
  CrudForm,
1156
1156
  {
1157
1157
  title: t("catalog.products.edit.title", "Edit product"),
1158
+ titleHeadingLevel: 1,
1158
1159
  backHref: "/backend/catalog/products",
1159
1160
  versionHistory: {
1160
1161
  resourceKind: "catalog.product",