@open-mercato/core 0.6.7 → 0.6.8-develop.6875.1.871a4afc94

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 (1508) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/AGENTS.md +3 -3
  3. package/agentic/standalone-guide.md +13 -0
  4. package/dist/bootstrap.js +16 -1
  5. package/dist/bootstrap.js.map +2 -2
  6. package/dist/generated/entities/attachment_quota_reservation/index.js +33 -0
  7. package/dist/generated/entities/attachment_quota_reservation/index.js.map +7 -0
  8. package/dist/generated/entities/customer_deal_person_link/index.js +2 -0
  9. package/dist/generated/entities/customer_deal_person_link/index.js.map +2 -2
  10. package/dist/generated/entities/customer_user_invitation/index.js +2 -0
  11. package/dist/generated/entities/customer_user_invitation/index.js.map +2 -2
  12. package/dist/generated/entities/gateway_payment_operation/index.js +2 -0
  13. package/dist/generated/entities/gateway_payment_operation/index.js.map +2 -2
  14. package/dist/generated/entities/gateway_transaction/index.js +2 -0
  15. package/dist/generated/entities/gateway_transaction/index.js.map +2 -2
  16. package/dist/generated/entities/organization/index.js +2 -0
  17. package/dist/generated/entities/organization/index.js.map +2 -2
  18. package/dist/generated/entities/resources_resource/index.js +2 -0
  19. package/dist/generated/entities/resources_resource/index.js.map +2 -2
  20. package/dist/generated/entities.ids.generated.js +3 -1
  21. package/dist/generated/entities.ids.generated.js.map +2 -2
  22. package/dist/generated/entity-fields-registry.js +23 -0
  23. package/dist/generated/entity-fields-registry.js.map +2 -2
  24. package/dist/helpers/integration/salesFixtures.js +31 -2
  25. package/dist/helpers/integration/salesFixtures.js.map +2 -2
  26. package/dist/helpers/integration/salesUi.js +5 -0
  27. package/dist/helpers/integration/salesUi.js.map +2 -2
  28. package/dist/modules/api_keys/backend/api-keys/page.js +2 -1
  29. package/dist/modules/api_keys/backend/api-keys/page.js.map +2 -2
  30. package/dist/modules/api_keys/extension-points.js +16 -0
  31. package/dist/modules/api_keys/extension-points.js.map +7 -0
  32. package/dist/modules/attachments/api/route.js +120 -10
  33. package/dist/modules/attachments/api/route.js.map +2 -2
  34. package/dist/modules/attachments/backend/config/attachments/page.js +1 -1
  35. package/dist/modules/attachments/backend/config/attachments/page.js.map +2 -2
  36. package/dist/modules/attachments/data/entities.js +67 -1
  37. package/dist/modules/attachments/data/entities.js.map +2 -2
  38. package/dist/modules/attachments/di.js +7 -1
  39. package/dist/modules/attachments/di.js.map +2 -2
  40. package/dist/modules/attachments/fields/attachment.js +1 -1
  41. package/dist/modules/attachments/fields/attachment.js.map +2 -2
  42. package/dist/modules/attachments/lib/drivers/index.js.map +1 -1
  43. package/dist/modules/attachments/lib/drivers/localDriver.js +19 -6
  44. package/dist/modules/attachments/lib/drivers/localDriver.js.map +2 -2
  45. package/dist/modules/attachments/lib/quota-recovery-queue.js +9 -0
  46. package/dist/modules/attachments/lib/quota-recovery-queue.js.map +7 -0
  47. package/dist/modules/attachments/lib/quota-service.js +224 -0
  48. package/dist/modules/attachments/lib/quota-service.js.map +7 -0
  49. package/dist/modules/attachments/lib/upload-limits.js +33 -0
  50. package/dist/modules/attachments/lib/upload-limits.js.map +2 -2
  51. package/dist/modules/attachments/migrations/Migration20260709234741_attachments.js +13 -0
  52. package/dist/modules/attachments/migrations/Migration20260709234741_attachments.js.map +7 -0
  53. package/dist/modules/attachments/workers/quota-recovery.js +45 -0
  54. package/dist/modules/attachments/workers/quota-recovery.js.map +7 -0
  55. package/dist/modules/audit_logs/api/audit-logs/access/route.js +5 -1
  56. package/dist/modules/audit_logs/api/audit-logs/access/route.js.map +2 -2
  57. package/dist/modules/audit_logs/api/audit-logs/actions/export/route.js +5 -1
  58. package/dist/modules/audit_logs/api/audit-logs/actions/export/route.js.map +2 -2
  59. package/dist/modules/audit_logs/api/audit-logs/actions/route.js +5 -1
  60. package/dist/modules/audit_logs/api/audit-logs/actions/route.js.map +2 -2
  61. package/dist/modules/audit_logs/api/audit-logs/readScope.js +12 -0
  62. package/dist/modules/audit_logs/api/audit-logs/readScope.js.map +7 -0
  63. package/dist/modules/audit_logs/components/AccessLogsTable.js +2 -1
  64. package/dist/modules/audit_logs/components/AccessLogsTable.js.map +2 -2
  65. package/dist/modules/audit_logs/components/AuditLogsActions.js +3 -2
  66. package/dist/modules/audit_logs/components/AuditLogsActions.js.map +2 -2
  67. package/dist/modules/audit_logs/extension-points.js +14 -0
  68. package/dist/modules/audit_logs/extension-points.js.map +7 -0
  69. package/dist/modules/auth/api/admin/nav.js +17 -4
  70. package/dist/modules/auth/api/admin/nav.js.map +2 -2
  71. package/dist/modules/auth/api/profile/route.js +8 -2
  72. package/dist/modules/auth/api/profile/route.js.map +2 -2
  73. package/dist/modules/auth/api/users/route.js +8 -19
  74. package/dist/modules/auth/api/users/route.js.map +2 -2
  75. package/dist/modules/auth/backend/auth/profile/page.js.map +2 -2
  76. package/dist/modules/auth/backend/profile/change-password/page.js.map +2 -2
  77. package/dist/modules/auth/backend/roles/page.js +2 -1
  78. package/dist/modules/auth/backend/roles/page.js.map +2 -2
  79. package/dist/modules/auth/backend/settings/page.js +14 -9
  80. package/dist/modules/auth/backend/settings/page.js.map +2 -2
  81. package/dist/modules/auth/backend/users/page.js +2 -1
  82. package/dist/modules/auth/backend/users/page.js.map +2 -2
  83. package/dist/modules/auth/cli.js +1 -1
  84. package/dist/modules/auth/cli.js.map +2 -2
  85. package/dist/modules/auth/components/UserConsentsPanel.js +9 -9
  86. package/dist/modules/auth/components/UserConsentsPanel.js.map +2 -2
  87. package/dist/modules/auth/extension-points.js +21 -0
  88. package/dist/modules/auth/extension-points.js.map +7 -0
  89. package/dist/modules/auth/frontend/login.js +7 -3
  90. package/dist/modules/auth/frontend/login.js.map +2 -2
  91. package/dist/modules/auth/frontend/reset.js +2 -2
  92. package/dist/modules/auth/frontend/reset.js.map +2 -2
  93. package/dist/modules/auth/lib/backendChrome.js +45 -29
  94. package/dist/modules/auth/lib/backendChrome.js.map +2 -2
  95. package/dist/modules/auth/lib/setup-app.js +17 -2
  96. package/dist/modules/auth/lib/setup-app.js.map +2 -2
  97. package/dist/modules/auth/lib/tenantAccess.js +7 -0
  98. package/dist/modules/auth/lib/tenantAccess.js.map +2 -2
  99. package/dist/modules/auth/services/rbacService.js +29 -44
  100. package/dist/modules/auth/services/rbacService.js.map +2 -2
  101. package/dist/modules/business_rules/api/openmercato-call-options/route.js +85 -0
  102. package/dist/modules/business_rules/api/openmercato-call-options/route.js.map +7 -0
  103. package/dist/modules/business_rules/api/rules/route.js +71 -4
  104. package/dist/modules/business_rules/api/rules/route.js.map +2 -2
  105. package/dist/modules/business_rules/backend/rules/page.js +2 -1
  106. package/dist/modules/business_rules/backend/rules/page.js.map +2 -2
  107. package/dist/modules/business_rules/components/ActionBuilder.js +47 -4
  108. package/dist/modules/business_rules/components/ActionBuilder.js.map +3 -3
  109. package/dist/modules/business_rules/components/ActionRow.js +106 -16
  110. package/dist/modules/business_rules/components/ActionRow.js.map +2 -2
  111. package/dist/modules/business_rules/components/ConditionRow.js +8 -4
  112. package/dist/modules/business_rules/components/ConditionRow.js.map +2 -2
  113. package/dist/modules/business_rules/components/utils/actionValidation.js +6 -0
  114. package/dist/modules/business_rules/components/utils/actionValidation.js.map +2 -2
  115. package/dist/modules/business_rules/events.js +13 -0
  116. package/dist/modules/business_rules/events.js.map +7 -0
  117. package/dist/modules/business_rules/extension-points.js +13 -0
  118. package/dist/modules/business_rules/extension-points.js.map +7 -0
  119. package/dist/modules/business_rules/lib/action-executor.js +148 -0
  120. package/dist/modules/business_rules/lib/action-executor.js.map +2 -2
  121. package/dist/modules/business_rules/lib/openmercato-call-options-types.js +5 -0
  122. package/dist/modules/business_rules/lib/openmercato-call-options-types.js.map +7 -0
  123. package/dist/modules/business_rules/lib/openmercato-call-options.js +231 -0
  124. package/dist/modules/business_rules/lib/openmercato-call-options.js.map +7 -0
  125. package/dist/modules/business_rules/lib/rule-engine.js +5 -1
  126. package/dist/modules/business_rules/lib/rule-engine.js.map +2 -2
  127. package/dist/modules/catalog/backend/catalog/products/[id]/page.js +6 -5
  128. package/dist/modules/catalog/backend/catalog/products/[id]/page.js.map +2 -2
  129. package/dist/modules/catalog/backend/catalog/products/create/page.js +7 -6
  130. package/dist/modules/catalog/backend/catalog/products/create/page.js.map +2 -2
  131. package/dist/modules/catalog/components/PriceKindSettings.js +3 -3
  132. package/dist/modules/catalog/components/PriceKindSettings.js.map +2 -2
  133. package/dist/modules/catalog/components/categories/CategoriesDataTable.js +2 -1
  134. package/dist/modules/catalog/components/categories/CategoriesDataTable.js.map +2 -2
  135. package/dist/modules/catalog/components/products/ProductCategorizeSection.js +3 -3
  136. package/dist/modules/catalog/components/products/ProductCategorizeSection.js.map +2 -2
  137. package/dist/modules/catalog/components/products/ProductMediaManager.js +1 -1
  138. package/dist/modules/catalog/components/products/ProductMediaManager.js.map +2 -2
  139. package/dist/modules/catalog/components/products/ProductsDataTable.js +3 -2
  140. package/dist/modules/catalog/components/products/ProductsDataTable.js.map +2 -2
  141. package/dist/modules/catalog/components/products/VariantBuilder.js +5 -5
  142. package/dist/modules/catalog/components/products/VariantBuilder.js.map +2 -2
  143. package/dist/modules/catalog/events.js +1 -0
  144. package/dist/modules/catalog/events.js.map +2 -2
  145. package/dist/modules/catalog/extension-points.js +27 -0
  146. package/dist/modules/catalog/extension-points.js.map +7 -0
  147. package/dist/modules/catalog/widgets/injection/product-bulk-delete/widget.js +10 -5
  148. package/dist/modules/catalog/widgets/injection/product-bulk-delete/widget.js.map +2 -2
  149. package/dist/modules/catalog/widgets/injection/product-seo/widget.js +1 -1
  150. package/dist/modules/catalog/widgets/injection/product-seo/widget.js.map +2 -2
  151. package/dist/modules/communication_channels/api/post/test-seed/route.js +52 -2
  152. package/dist/modules/communication_channels/api/post/test-seed/route.js.map +2 -2
  153. package/dist/modules/communication_channels/api/post/webhook/[provider]/route.js +11 -1
  154. package/dist/modules/communication_channels/api/post/webhook/[provider]/route.js.map +2 -2
  155. package/dist/modules/communication_channels/api/post/webhooks/gmail/route.js +11 -6
  156. package/dist/modules/communication_channels/api/post/webhooks/gmail/route.js.map +2 -2
  157. package/dist/modules/communication_channels/backend/communication_channels/channels/page.js +2 -1
  158. package/dist/modules/communication_channels/backend/communication_channels/channels/page.js.map +2 -2
  159. package/dist/modules/communication_channels/backend/profile/communication-channels/page.js +8 -7
  160. package/dist/modules/communication_channels/backend/profile/communication-channels/page.js.map +2 -2
  161. package/dist/modules/communication_channels/data/enrichers.js +4 -4
  162. package/dist/modules/communication_channels/data/enrichers.js.map +2 -2
  163. package/dist/modules/communication_channels/extension-points.js +20 -0
  164. package/dist/modules/communication_channels/extension-points.js.map +7 -0
  165. package/dist/modules/communication_channels/lib/access-control.js +2 -2
  166. package/dist/modules/communication_channels/lib/access-control.js.map +2 -2
  167. package/dist/modules/configs/backend/config/system-status/page.js +2 -1
  168. package/dist/modules/configs/backend/config/system-status/page.js.map +2 -2
  169. package/dist/modules/configs/extension-points.js +18 -0
  170. package/dist/modules/configs/extension-points.js.map +7 -0
  171. package/dist/modules/configs/lib/upgrade-actions.js +12 -0
  172. package/dist/modules/configs/lib/upgrade-actions.js.map +2 -2
  173. package/dist/modules/currencies/backend/currencies/page.js +2 -1
  174. package/dist/modules/currencies/backend/currencies/page.js.map +2 -2
  175. package/dist/modules/currencies/backend/exchange-rates/page.js +2 -1
  176. package/dist/modules/currencies/backend/exchange-rates/page.js.map +2 -2
  177. package/dist/modules/currencies/di.js +4 -0
  178. package/dist/modules/currencies/di.js.map +2 -2
  179. package/dist/modules/currencies/extension-points.js +14 -0
  180. package/dist/modules/currencies/extension-points.js.map +7 -0
  181. package/dist/modules/currencies/services/baseCurrencyService.js +42 -0
  182. package/dist/modules/currencies/services/baseCurrencyService.js.map +7 -0
  183. package/dist/modules/customer_accounts/api/admin/users/[id].js +10 -1
  184. package/dist/modules/customer_accounts/api/admin/users/[id].js.map +2 -2
  185. package/dist/modules/customer_accounts/api/admin/users-invite.js +63 -4
  186. package/dist/modules/customer_accounts/api/admin/users-invite.js.map +2 -2
  187. package/dist/modules/customer_accounts/api/invitations/accept.js +1 -2
  188. package/dist/modules/customer_accounts/api/invitations/accept.js.map +2 -2
  189. package/dist/modules/customer_accounts/api/login.js +4 -2
  190. package/dist/modules/customer_accounts/api/login.js.map +2 -2
  191. package/dist/modules/customer_accounts/api/magic-link/verify.js +4 -2
  192. package/dist/modules/customer_accounts/api/magic-link/verify.js.map +2 -2
  193. package/dist/modules/customer_accounts/api/portal/feature-check.js +5 -4
  194. package/dist/modules/customer_accounts/api/portal/feature-check.js.map +2 -2
  195. package/dist/modules/customer_accounts/api/portal/nav.js +6 -4
  196. package/dist/modules/customer_accounts/api/portal/nav.js.map +2 -2
  197. package/dist/modules/customer_accounts/api/portal/profile.js +5 -1
  198. package/dist/modules/customer_accounts/api/portal/profile.js.map +2 -2
  199. package/dist/modules/customer_accounts/api/portal/sessions-refresh.js +3 -3
  200. package/dist/modules/customer_accounts/api/portal/sessions-refresh.js.map +2 -2
  201. package/dist/modules/customer_accounts/api/portal/users-invite.js +22 -2
  202. package/dist/modules/customer_accounts/api/portal/users-invite.js.map +2 -2
  203. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js +2 -1
  204. package/dist/modules/customer_accounts/backend/customer_accounts/roles/page.js.map +2 -2
  205. package/dist/modules/customer_accounts/backend/customer_accounts/settings/domain/components/Diagnostics.js +2 -2
  206. package/dist/modules/customer_accounts/backend/customer_accounts/settings/domain/components/Diagnostics.js.map +2 -2
  207. package/dist/modules/customer_accounts/backend/customer_accounts/users/page.js +2 -1
  208. package/dist/modules/customer_accounts/backend/customer_accounts/users/page.js.map +2 -2
  209. package/dist/modules/customer_accounts/data/entities.js +3 -0
  210. package/dist/modules/customer_accounts/data/entities.js.map +2 -2
  211. package/dist/modules/customer_accounts/data/validators.js +1 -0
  212. package/dist/modules/customer_accounts/data/validators.js.map +2 -2
  213. package/dist/modules/customer_accounts/emails/CustomerInvitationEmail.js +26 -0
  214. package/dist/modules/customer_accounts/emails/CustomerInvitationEmail.js.map +7 -0
  215. package/dist/modules/customer_accounts/extension-points.js +14 -0
  216. package/dist/modules/customer_accounts/extension-points.js.map +7 -0
  217. package/dist/modules/customer_accounts/lib/customerAuth.js +7 -2
  218. package/dist/modules/customer_accounts/lib/customerAuth.js.map +2 -2
  219. package/dist/modules/customer_accounts/lib/customerAuthServer.js +2 -1
  220. package/dist/modules/customer_accounts/lib/customerAuthServer.js.map +2 -2
  221. package/dist/modules/customer_accounts/lib/customerEntityOwnership.js +29 -3
  222. package/dist/modules/customer_accounts/lib/customerEntityOwnership.js.map +2 -2
  223. package/dist/modules/customer_accounts/lib/customerUrl.js +19 -10
  224. package/dist/modules/customer_accounts/lib/customerUrl.js.map +2 -2
  225. package/dist/modules/customer_accounts/lib/invitationEmail.js +35 -0
  226. package/dist/modules/customer_accounts/lib/invitationEmail.js.map +7 -0
  227. package/dist/modules/customer_accounts/migrations/Migration20260723120000_customer_accounts.js +13 -0
  228. package/dist/modules/customer_accounts/migrations/Migration20260723120000_customer_accounts.js.map +7 -0
  229. package/dist/modules/customer_accounts/services/customerInvitationService.js +32 -2
  230. package/dist/modules/customer_accounts/services/customerInvitationService.js.map +2 -2
  231. package/dist/modules/customer_accounts/services/customerRbacService.js +12 -3
  232. package/dist/modules/customer_accounts/services/customerRbacService.js.map +2 -2
  233. package/dist/modules/customer_accounts/setup.js +6 -0
  234. package/dist/modules/customer_accounts/setup.js.map +2 -2
  235. package/dist/modules/customer_accounts/subscribers/autoLinkCrm.js +47 -7
  236. package/dist/modules/customer_accounts/subscribers/autoLinkCrm.js.map +2 -2
  237. package/dist/modules/customer_accounts/widgets/injection/account-status/widget.client.js +2 -2
  238. package/dist/modules/customer_accounts/widgets/injection/account-status/widget.client.js.map +2 -2
  239. package/dist/modules/customer_accounts/widgets/injection/portal-ai-assistant-trigger/widget.client.js +1 -1
  240. package/dist/modules/customer_accounts/widgets/injection/portal-ai-assistant-trigger/widget.client.js.map +2 -2
  241. package/dist/modules/customer_accounts/widgets/injection-table.js +1 -1
  242. package/dist/modules/customer_accounts/widgets/injection-table.js.map +2 -2
  243. package/dist/modules/customers/analytics.js +4 -1
  244. package/dist/modules/customers/analytics.js.map +2 -2
  245. package/dist/modules/customers/api/companies/[id]/route.js +3 -4
  246. package/dist/modules/customers/api/companies/[id]/route.js.map +2 -2
  247. package/dist/modules/customers/api/deals/[id]/people/route.js +4 -2
  248. package/dist/modules/customers/api/deals/[id]/people/route.js.map +2 -2
  249. package/dist/modules/customers/api/deals/[id]/route.js +7 -3
  250. package/dist/modules/customers/api/deals/[id]/route.js.map +2 -2
  251. package/dist/modules/customers/api/deals/aggregate/route.js +5 -4
  252. package/dist/modules/customers/api/deals/aggregate/route.js.map +2 -2
  253. package/dist/modules/customers/api/deals/summary/route.js +14 -119
  254. package/dist/modules/customers/api/deals/summary/route.js.map +2 -2
  255. package/dist/modules/customers/api/people/[id]/companies/enriched/route.js +3 -2
  256. package/dist/modules/customers/api/people/[id]/companies/enriched/route.js.map +2 -2
  257. package/dist/modules/customers/api/utils.js +21 -24
  258. package/dist/modules/customers/api/utils.js.map +2 -2
  259. package/dist/modules/customers/backend/customers/companies/[id]/page.js +2 -1
  260. package/dist/modules/customers/backend/customers/companies/[id]/page.js.map +2 -2
  261. package/dist/modules/customers/backend/customers/companies/page.js +2 -1
  262. package/dist/modules/customers/backend/customers/companies/page.js.map +2 -2
  263. package/dist/modules/customers/backend/customers/companies-v2/[id]/page.js +16 -5
  264. package/dist/modules/customers/backend/customers/companies-v2/[id]/page.js.map +2 -2
  265. package/dist/modules/customers/backend/customers/deals/[id]/page.js +18 -11
  266. package/dist/modules/customers/backend/customers/deals/[id]/page.js.map +2 -2
  267. package/dist/modules/customers/backend/customers/deals/page.js +2 -1
  268. package/dist/modules/customers/backend/customers/deals/page.js.map +2 -2
  269. package/dist/modules/customers/backend/customers/deals/pipeline/components/QuickDealDialog.js +17 -3
  270. package/dist/modules/customers/backend/customers/deals/pipeline/components/QuickDealDialog.js.map +2 -2
  271. package/dist/modules/customers/backend/customers/deals/pipeline/page.js +8 -2
  272. package/dist/modules/customers/backend/customers/deals/pipeline/page.js.map +2 -2
  273. package/dist/modules/customers/backend/customers/people/[id]/page.js +2 -1
  274. package/dist/modules/customers/backend/customers/people/[id]/page.js.map +2 -2
  275. package/dist/modules/customers/backend/customers/people/page.js +2 -1
  276. package/dist/modules/customers/backend/customers/people/page.js.map +2 -2
  277. package/dist/modules/customers/backend/customers/people-v2/[id]/page.js +26 -10
  278. package/dist/modules/customers/backend/customers/people-v2/[id]/page.js.map +2 -2
  279. package/dist/modules/customers/cli.js +28 -11
  280. package/dist/modules/customers/cli.js.map +2 -2
  281. package/dist/modules/customers/commands/deals.js +48 -10
  282. package/dist/modules/customers/commands/deals.js.map +2 -2
  283. package/dist/modules/customers/commands/people.js +2 -0
  284. package/dist/modules/customers/commands/people.js.map +2 -2
  285. package/dist/modules/customers/components/CustomerTodosTable.js +2 -1
  286. package/dist/modules/customers/components/CustomerTodosTable.js.map +2 -2
  287. package/dist/modules/customers/components/calendar/CalendarEventEditor.js +1 -1
  288. package/dist/modules/customers/components/calendar/CalendarEventEditor.js.map +2 -2
  289. package/dist/modules/customers/components/detail/ActiveDealCard.js +2 -1
  290. package/dist/modules/customers/components/detail/ActiveDealCard.js.map +2 -2
  291. package/dist/modules/customers/components/detail/ActivitiesDayStrip.js +2 -3
  292. package/dist/modules/customers/components/detail/ActivitiesDayStrip.js.map +2 -2
  293. package/dist/modules/customers/components/detail/CompanyDetailTabs.js +26 -6
  294. package/dist/modules/customers/components/detail/CompanyDetailTabs.js.map +2 -2
  295. package/dist/modules/customers/components/detail/CompanyKpiBar.js +6 -5
  296. package/dist/modules/customers/components/detail/CompanyKpiBar.js.map +2 -2
  297. package/dist/modules/customers/components/detail/ConfirmDealLostDialog.js +2 -2
  298. package/dist/modules/customers/components/detail/ConfirmDealLostDialog.js.map +2 -2
  299. package/dist/modules/customers/components/detail/DealDetailTabs.js +30 -8
  300. package/dist/modules/customers/components/detail/DealDetailTabs.js.map +2 -2
  301. package/dist/modules/customers/components/detail/DealForm.js +2 -1
  302. package/dist/modules/customers/components/detail/DealForm.js.map +2 -2
  303. package/dist/modules/customers/components/detail/DealsSection.js +1 -1
  304. package/dist/modules/customers/components/detail/DealsSection.js.map +2 -2
  305. package/dist/modules/customers/components/detail/MiniWeekCalendar.js +7 -52
  306. package/dist/modules/customers/components/detail/MiniWeekCalendar.js.map +2 -2
  307. package/dist/modules/customers/components/detail/PersonDetailTabs.js +30 -8
  308. package/dist/modules/customers/components/detail/PersonDetailTabs.js.map +2 -2
  309. package/dist/modules/customers/components/detail/ScheduleActivityDialog.js +231 -216
  310. package/dist/modules/customers/components/detail/ScheduleActivityDialog.js.map +2 -2
  311. package/dist/modules/customers/components/detail/dashboard/helpers.js +4 -3
  312. package/dist/modules/customers/components/detail/dashboard/helpers.js.map +2 -2
  313. package/dist/modules/customers/components/detail/legacyActivities.js +69 -0
  314. package/dist/modules/customers/components/detail/legacyActivities.js.map +7 -0
  315. package/dist/modules/customers/components/formConfig.js +14 -10
  316. package/dist/modules/customers/components/formConfig.js.map +2 -2
  317. package/dist/modules/customers/data/entities.js +8 -0
  318. package/dist/modules/customers/data/entities.js.map +2 -2
  319. package/dist/modules/customers/data/validators.js +5 -2
  320. package/dist/modules/customers/data/validators.js.map +2 -2
  321. package/dist/modules/customers/extension-points.js +42 -0
  322. package/dist/modules/customers/extension-points.js.map +7 -0
  323. package/dist/modules/customers/lib/calendar/format.js +8 -4
  324. package/dist/modules/customers/lib/calendar/format.js.map +2 -2
  325. package/dist/modules/customers/lib/dealStatus.js +38 -0
  326. package/dist/modules/customers/lib/dealStatus.js.map +7 -0
  327. package/dist/modules/customers/lib/dealsSummaryQueries.js +144 -0
  328. package/dist/modules/customers/lib/dealsSummaryQueries.js.map +7 -0
  329. package/dist/modules/customers/lib/optionalBaseCurrency.js +19 -0
  330. package/dist/modules/customers/lib/optionalBaseCurrency.js.map +7 -0
  331. package/dist/modules/customers/lib/visibilityFilter.js +6 -4
  332. package/dist/modules/customers/lib/visibilityFilter.js.map +2 -2
  333. package/dist/modules/customers/migrations/Migration20260723210000_customers.js +15 -0
  334. package/dist/modules/customers/migrations/Migration20260723210000_customers.js.map +7 -0
  335. package/dist/modules/customers/search.js +50 -29
  336. package/dist/modules/customers/search.js.map +2 -2
  337. package/dist/modules/customers/utils/phoneDuplicates.js +1 -2
  338. package/dist/modules/customers/utils/phoneDuplicates.js.map +2 -2
  339. package/dist/modules/dashboards/api/layout/[itemId]/route.js +6 -3
  340. package/dist/modules/dashboards/api/layout/[itemId]/route.js.map +2 -2
  341. package/dist/modules/dashboards/api/layout/route.js +22 -9
  342. package/dist/modules/dashboards/api/layout/route.js.map +2 -2
  343. package/dist/modules/dashboards/api/roles/widgets/route.js +9 -3
  344. package/dist/modules/dashboards/api/roles/widgets/route.js.map +2 -2
  345. package/dist/modules/dashboards/api/users/widgets/route.js +9 -3
  346. package/dist/modules/dashboards/api/users/widgets/route.js.map +2 -2
  347. package/dist/modules/dashboards/api/widgets/catalog.js +6 -3
  348. package/dist/modules/dashboards/api/widgets/catalog.js.map +2 -2
  349. package/dist/modules/dashboards/api/widgets/data/batch/route.js +12 -3
  350. package/dist/modules/dashboards/api/widgets/data/batch/route.js.map +2 -2
  351. package/dist/modules/dashboards/api/widgets/data/route.js +28 -3
  352. package/dist/modules/dashboards/api/widgets/data/route.js.map +2 -2
  353. package/dist/modules/dashboards/api/widgets/data/schema.js +28 -18
  354. package/dist/modules/dashboards/api/widgets/data/schema.js.map +2 -2
  355. package/dist/modules/dashboards/components/UnlabelledAmountNotice.js +33 -0
  356. package/dist/modules/dashboards/components/UnlabelledAmountNotice.js.map +7 -0
  357. package/dist/modules/dashboards/lib/access.js +5 -3
  358. package/dist/modules/dashboards/lib/access.js.map +2 -2
  359. package/dist/modules/dashboards/lib/aggregations.js +113 -46
  360. package/dist/modules/dashboards/lib/aggregations.js.map +2 -2
  361. package/dist/modules/dashboards/lib/exactDecimal.js +69 -0
  362. package/dist/modules/dashboards/lib/exactDecimal.js.map +7 -0
  363. package/dist/modules/dashboards/lib/formatters.js +84 -11
  364. package/dist/modules/dashboards/lib/formatters.js.map +2 -2
  365. package/dist/modules/dashboards/lib/optionalBaseCurrency.js +11 -0
  366. package/dist/modules/dashboards/lib/optionalBaseCurrency.js.map +7 -0
  367. package/dist/modules/dashboards/services/widgetDataService.js +316 -14
  368. package/dist/modules/dashboards/services/widgetDataService.js.map +2 -2
  369. package/dist/modules/dashboards/subscribers/invalidateWidgetDataCache.js +26 -0
  370. package/dist/modules/dashboards/subscribers/invalidateWidgetDataCache.js.map +7 -0
  371. package/dist/modules/dashboards/widgets/dashboard/aov-kpi/widget.client.js +9 -3
  372. package/dist/modules/dashboards/widgets/dashboard/aov-kpi/widget.client.js.map +2 -2
  373. package/dist/modules/dashboards/widgets/dashboard/pipeline-summary/config.js +52 -2
  374. package/dist/modules/dashboards/widgets/dashboard/pipeline-summary/config.js.map +2 -2
  375. package/dist/modules/dashboards/widgets/dashboard/pipeline-summary/widget.client.js +52 -30
  376. package/dist/modules/dashboards/widgets/dashboard/pipeline-summary/widget.client.js.map +2 -2
  377. package/dist/modules/dashboards/widgets/dashboard/pipeline-summary/widget.js +2 -2
  378. package/dist/modules/dashboards/widgets/dashboard/pipeline-summary/widget.js.map +2 -2
  379. package/dist/modules/dashboards/widgets/dashboard/revenue-kpi/widget.client.js +9 -3
  380. package/dist/modules/dashboards/widgets/dashboard/revenue-kpi/widget.client.js.map +2 -2
  381. package/dist/modules/dashboards/widgets/dashboard/revenue-trend/widget.client.js +8 -3
  382. package/dist/modules/dashboards/widgets/dashboard/revenue-trend/widget.client.js.map +2 -2
  383. package/dist/modules/dashboards/widgets/dashboard/sales-by-region/widget.client.js +26 -18
  384. package/dist/modules/dashboards/widgets/dashboard/sales-by-region/widget.client.js.map +2 -2
  385. package/dist/modules/dashboards/widgets/dashboard/top-customers/widget.client.js +22 -14
  386. package/dist/modules/dashboards/widgets/dashboard/top-customers/widget.client.js.map +2 -2
  387. package/dist/modules/dashboards/widgets/dashboard/top-products/widget.client.js +10 -4
  388. package/dist/modules/dashboards/widgets/dashboard/top-products/widget.client.js.map +2 -2
  389. package/dist/modules/data_sync/api/mappings/[id]/route.js +22 -9
  390. package/dist/modules/data_sync/api/mappings/[id]/route.js.map +2 -2
  391. package/dist/modules/data_sync/api/mappings/route.js +13 -4
  392. package/dist/modules/data_sync/api/mappings/route.js.map +2 -2
  393. package/dist/modules/data_sync/api/options.js +7 -2
  394. package/dist/modules/data_sync/api/options.js.map +2 -2
  395. package/dist/modules/data_sync/api/run.js +7 -2
  396. package/dist/modules/data_sync/api/run.js.map +2 -2
  397. package/dist/modules/data_sync/api/runs/[id]/cancel.js +8 -3
  398. package/dist/modules/data_sync/api/runs/[id]/cancel.js.map +2 -2
  399. package/dist/modules/data_sync/api/runs/[id]/retry.js +7 -2
  400. package/dist/modules/data_sync/api/runs/[id]/retry.js.map +2 -2
  401. package/dist/modules/data_sync/api/runs/[id]/route.js +8 -3
  402. package/dist/modules/data_sync/api/runs/[id]/route.js.map +2 -2
  403. package/dist/modules/data_sync/api/runs.js +7 -2
  404. package/dist/modules/data_sync/api/runs.js.map +2 -2
  405. package/dist/modules/data_sync/api/schedules/[id]/route.js +19 -6
  406. package/dist/modules/data_sync/api/schedules/[id]/route.js.map +2 -2
  407. package/dist/modules/data_sync/api/schedules/route.js +13 -4
  408. package/dist/modules/data_sync/api/schedules/route.js.map +2 -2
  409. package/dist/modules/data_sync/api/validate.js +9 -4
  410. package/dist/modules/data_sync/api/validate.js.map +2 -2
  411. package/dist/modules/data_sync/backend/data-sync/page.js +5 -4
  412. package/dist/modules/data_sync/backend/data-sync/page.js.map +2 -2
  413. package/dist/modules/data_sync/components/IntegrationScheduleTab.js +5 -5
  414. package/dist/modules/data_sync/components/IntegrationScheduleTab.js.map +2 -2
  415. package/dist/modules/data_sync/extension-points.js +13 -0
  416. package/dist/modules/data_sync/extension-points.js.map +7 -0
  417. package/dist/modules/data_sync/lib/queue-policy.js +15 -0
  418. package/dist/modules/data_sync/lib/queue-policy.js.map +7 -0
  419. package/dist/modules/data_sync/lib/queue.js +16 -1
  420. package/dist/modules/data_sync/lib/queue.js.map +2 -2
  421. package/dist/modules/data_sync/lib/start-run.js +2 -1
  422. package/dist/modules/data_sync/lib/start-run.js.map +2 -2
  423. package/dist/modules/data_sync/lib/sync-engine.js +35 -2
  424. package/dist/modules/data_sync/lib/sync-engine.js.map +2 -2
  425. package/dist/modules/data_sync/lib/sync-run-service.js +70 -2
  426. package/dist/modules/data_sync/lib/sync-run-service.js.map +2 -2
  427. package/dist/modules/data_sync/workers/sync-export.js +9 -2
  428. package/dist/modules/data_sync/workers/sync-export.js.map +2 -2
  429. package/dist/modules/data_sync/workers/sync-import.js +9 -2
  430. package/dist/modules/data_sync/workers/sync-import.js.map +2 -2
  431. package/dist/modules/design_system/acl.js +9 -0
  432. package/dist/modules/design_system/acl.js.map +7 -0
  433. package/dist/modules/design_system/backend/design-system/page.js +11 -0
  434. package/dist/modules/design_system/backend/design-system/page.js.map +7 -0
  435. package/dist/modules/design_system/backend/design-system/page.meta.js +15 -0
  436. package/dist/modules/design_system/backend/design-system/page.meta.js.map +7 -0
  437. package/dist/modules/design_system/gallery/components/CodeSnippet.js +52 -0
  438. package/dist/modules/design_system/gallery/components/CodeSnippet.js.map +7 -0
  439. package/dist/modules/design_system/gallery/components/EntryCard.js +63 -0
  440. package/dist/modules/design_system/gallery/components/EntryCard.js.map +7 -0
  441. package/dist/modules/design_system/gallery/components/GalleryShell.js +163 -0
  442. package/dist/modules/design_system/gallery/components/GalleryShell.js.map +7 -0
  443. package/dist/modules/design_system/gallery/components/VariantPreview.js +9 -0
  444. package/dist/modules/design_system/gallery/components/VariantPreview.js.map +7 -0
  445. package/dist/modules/design_system/gallery/entries/banners.js +186 -0
  446. package/dist/modules/design_system/gallery/entries/banners.js.map +7 -0
  447. package/dist/modules/design_system/gallery/entries/buttons.js +361 -0
  448. package/dist/modules/design_system/gallery/entries/buttons.js.map +7 -0
  449. package/dist/modules/design_system/gallery/entries/charts.js +457 -0
  450. package/dist/modules/design_system/gallery/entries/charts.js.map +7 -0
  451. package/dist/modules/design_system/gallery/entries/dates.js +306 -0
  452. package/dist/modules/design_system/gallery/entries/dates.js.map +7 -0
  453. package/dist/modules/design_system/gallery/entries/detail.js +358 -0
  454. package/dist/modules/design_system/gallery/entries/detail.js.map +7 -0
  455. package/dist/modules/design_system/gallery/entries/display.js +785 -0
  456. package/dist/modules/design_system/gallery/entries/display.js.map +7 -0
  457. package/dist/modules/design_system/gallery/entries/feedback.js +658 -0
  458. package/dist/modules/design_system/gallery/entries/feedback.js.map +7 -0
  459. package/dist/modules/design_system/gallery/entries/filters.js +505 -0
  460. package/dist/modules/design_system/gallery/entries/filters.js.map +7 -0
  461. package/dist/modules/design_system/gallery/entries/foundations.js +453 -0
  462. package/dist/modules/design_system/gallery/entries/foundations.js.map +7 -0
  463. package/dist/modules/design_system/gallery/entries/icons.js +140 -0
  464. package/dist/modules/design_system/gallery/entries/icons.js.map +7 -0
  465. package/dist/modules/design_system/gallery/entries/inputs.js +1217 -0
  466. package/dist/modules/design_system/gallery/entries/inputs.js.map +7 -0
  467. package/dist/modules/design_system/gallery/entries/messages.js +334 -0
  468. package/dist/modules/design_system/gallery/entries/messages.js.map +7 -0
  469. package/dist/modules/design_system/gallery/entries/navigation.js +475 -0
  470. package/dist/modules/design_system/gallery/entries/navigation.js.map +7 -0
  471. package/dist/modules/design_system/gallery/entries/notifications.js +257 -0
  472. package/dist/modules/design_system/gallery/entries/notifications.js.map +7 -0
  473. package/dist/modules/design_system/gallery/entries/overlays.js +576 -0
  474. package/dist/modules/design_system/gallery/entries/overlays.js.map +7 -0
  475. package/dist/modules/design_system/gallery/entries/scaffolding.js +378 -0
  476. package/dist/modules/design_system/gallery/entries/scaffolding.js.map +7 -0
  477. package/dist/modules/design_system/gallery/entries/schedule.js +297 -0
  478. package/dist/modules/design_system/gallery/entries/schedule.js.map +7 -0
  479. package/dist/modules/design_system/gallery/registry.js +139 -0
  480. package/dist/modules/design_system/gallery/registry.js.map +7 -0
  481. package/dist/modules/design_system/gallery/types.js +1 -0
  482. package/dist/modules/design_system/gallery/types.js.map +7 -0
  483. package/dist/modules/design_system/index.js +9 -0
  484. package/dist/modules/design_system/index.js.map +7 -0
  485. package/dist/modules/design_system/setup.js +14 -0
  486. package/dist/modules/design_system/setup.js.map +7 -0
  487. package/dist/modules/dictionaries/api/[dictionaryId]/entries/route.js +34 -12
  488. package/dist/modules/dictionaries/api/[dictionaryId]/entries/route.js.map +2 -2
  489. package/dist/modules/dictionaries/api/openapi.js +15 -2
  490. package/dist/modules/dictionaries/api/openapi.js.map +2 -2
  491. package/dist/modules/dictionaries/components/DictionaryEntrySelect.js +1 -1
  492. package/dist/modules/dictionaries/components/DictionaryEntrySelect.js.map +2 -2
  493. package/dist/modules/dictionaries/components/hooks/useDictionaryEntries.js +30 -29
  494. package/dist/modules/dictionaries/components/hooks/useDictionaryEntries.js.map +2 -2
  495. package/dist/modules/dictionaries/data/validators.js +7 -0
  496. package/dist/modules/dictionaries/data/validators.js.map +2 -2
  497. package/dist/modules/dictionaries/lib/clientEntries.js +4 -3
  498. package/dist/modules/dictionaries/lib/clientEntries.js.map +2 -2
  499. package/dist/modules/dictionaries/lib/fetchAllEntries.js +43 -0
  500. package/dist/modules/dictionaries/lib/fetchAllEntries.js.map +7 -0
  501. package/dist/modules/directory/api/organization-branding/route.js +10 -3
  502. package/dist/modules/directory/api/organization-branding/route.js.map +2 -2
  503. package/dist/modules/directory/api/organization-switcher/route.js +84 -20
  504. package/dist/modules/directory/api/organization-switcher/route.js.map +2 -2
  505. package/dist/modules/directory/api/organizations/route.js +7 -0
  506. package/dist/modules/directory/api/organizations/route.js.map +3 -3
  507. package/dist/modules/directory/api/tenants/route.js +8 -2
  508. package/dist/modules/directory/api/tenants/route.js.map +2 -2
  509. package/dist/modules/directory/backend/directory/branding/page.js +31 -8
  510. package/dist/modules/directory/backend/directory/branding/page.js.map +2 -2
  511. package/dist/modules/directory/backend/directory/organizations/[id]/edit/page.js +7 -16
  512. package/dist/modules/directory/backend/directory/organizations/[id]/edit/page.js.map +2 -2
  513. package/dist/modules/directory/backend/directory/organizations/page.js +2 -1
  514. package/dist/modules/directory/backend/directory/organizations/page.js.map +2 -2
  515. package/dist/modules/directory/backend/directory/tenants/page.js +2 -1
  516. package/dist/modules/directory/backend/directory/tenants/page.js.map +2 -2
  517. package/dist/modules/directory/commands/organizations.js +8 -1
  518. package/dist/modules/directory/commands/organizations.js.map +2 -2
  519. package/dist/modules/directory/commands/tenants.js +6 -0
  520. package/dist/modules/directory/commands/tenants.js.map +2 -2
  521. package/dist/modules/directory/data/entities.js +4 -0
  522. package/dist/modules/directory/data/entities.js.map +2 -2
  523. package/dist/modules/directory/data/validators.js +2 -0
  524. package/dist/modules/directory/data/validators.js.map +2 -2
  525. package/dist/modules/directory/extension-points.js +14 -0
  526. package/dist/modules/directory/extension-points.js.map +7 -0
  527. package/dist/modules/directory/migrations/Migration20260626145500_directory_logo_preserve_aspect_ratio.js +13 -0
  528. package/dist/modules/directory/migrations/Migration20260626145500_directory_logo_preserve_aspect_ratio.js.map +7 -0
  529. package/dist/modules/directory/subscribers/invalidateOrgScopeCache.js +5 -1
  530. package/dist/modules/directory/subscribers/invalidateOrgScopeCache.js.map +2 -2
  531. package/dist/modules/directory/utils/organizationScope.js +11 -3
  532. package/dist/modules/directory/utils/organizationScope.js.map +2 -2
  533. package/dist/modules/entities/api/definitions.js +53 -3
  534. package/dist/modules/entities/api/definitions.js.map +2 -2
  535. package/dist/modules/entities/api/entities.js +21 -2
  536. package/dist/modules/entities/api/entities.js.map +2 -2
  537. package/dist/modules/entities/api/entity-settings.js +59 -9
  538. package/dist/modules/entities/api/entity-settings.js.map +2 -2
  539. package/dist/modules/entities/api/records.js +11 -28
  540. package/dist/modules/entities/api/records.js.map +2 -2
  541. package/dist/modules/entities/api/sidebar-entities.js +34 -12
  542. package/dist/modules/entities/api/sidebar-entities.js.map +2 -2
  543. package/dist/modules/entities/backend/config/settings/page.js +10 -0
  544. package/dist/modules/entities/backend/config/settings/page.js.map +7 -0
  545. package/dist/modules/entities/backend/config/settings/page.meta.js +36 -0
  546. package/dist/modules/entities/backend/config/settings/page.meta.js.map +7 -0
  547. package/dist/modules/entities/backend/entities/user/[entityId]/page.js +1 -1
  548. package/dist/modules/entities/backend/entities/user/[entityId]/page.js.map +2 -2
  549. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js +23 -4
  550. package/dist/modules/entities/backend/entities/user/[entityId]/records/page.js.map +2 -2
  551. package/dist/modules/entities/backend/entities/user/create/page.js +16 -7
  552. package/dist/modules/entities/backend/entities/user/create/page.js.map +2 -2
  553. package/dist/modules/entities/cli.js +193 -19
  554. package/dist/modules/entities/cli.js.map +2 -2
  555. package/dist/modules/entities/components/EntitySettingsManager.js +136 -0
  556. package/dist/modules/entities/components/EntitySettingsManager.js.map +7 -0
  557. package/dist/modules/entities/components/RecordListRelationCell.js +63 -0
  558. package/dist/modules/entities/components/RecordListRelationCell.js.map +7 -0
  559. package/dist/modules/entities/components/SystemEntitiesTable.js +2 -1
  560. package/dist/modules/entities/components/SystemEntitiesTable.js.map +2 -2
  561. package/dist/modules/entities/components/UserEntitiesTable.js +2 -1
  562. package/dist/modules/entities/components/UserEntitiesTable.js.map +2 -2
  563. package/dist/modules/entities/components/recordListRelationDisplays.js +80 -0
  564. package/dist/modules/entities/components/recordListRelationDisplays.js.map +7 -0
  565. package/dist/modules/entities/extension-points.js +21 -0
  566. package/dist/modules/entities/extension-points.js.map +7 -0
  567. package/dist/modules/entities/lib/entityAcl.js +87 -9
  568. package/dist/modules/entities/lib/entityAcl.js.map +3 -3
  569. package/dist/modules/feature_toggles/components/FeatureGuard.js +3 -2
  570. package/dist/modules/feature_toggles/components/FeatureGuard.js.map +2 -2
  571. package/dist/modules/feature_toggles/components/FeatureToggleOverrideCard.js +1 -1
  572. package/dist/modules/feature_toggles/components/FeatureToggleOverrideCard.js.map +2 -2
  573. package/dist/modules/feature_toggles/components/hooks/staleTime.js +5 -0
  574. package/dist/modules/feature_toggles/components/hooks/staleTime.js.map +7 -0
  575. package/dist/modules/feature_toggles/components/hooks/useFeatureFlagBoolean.js +5 -2
  576. package/dist/modules/feature_toggles/components/hooks/useFeatureFlagBoolean.js.map +2 -2
  577. package/dist/modules/feature_toggles/components/hooks/useFeatureFlagJson.js +5 -2
  578. package/dist/modules/feature_toggles/components/hooks/useFeatureFlagJson.js.map +2 -2
  579. package/dist/modules/feature_toggles/components/hooks/useFeatureFlagNumber.js +5 -2
  580. package/dist/modules/feature_toggles/components/hooks/useFeatureFlagNumber.js.map +2 -2
  581. package/dist/modules/feature_toggles/components/hooks/useFeatureFlagString.js +5 -2
  582. package/dist/modules/feature_toggles/components/hooks/useFeatureFlagString.js.map +2 -2
  583. package/dist/modules/inbox_ops/ai-tools.js +5 -2
  584. package/dist/modules/inbox_ops/ai-tools.js.map +2 -2
  585. package/dist/modules/inbox_ops/api/proposals/[id]/actions/[actionId]/route.js +14 -1
  586. package/dist/modules/inbox_ops/api/proposals/[id]/actions/[actionId]/route.js.map +2 -2
  587. package/dist/modules/inbox_ops/api/proposals/route.js +16 -1
  588. package/dist/modules/inbox_ops/api/proposals/route.js.map +2 -2
  589. package/dist/modules/inbox_ops/api/webhook/inbound.js +14 -10
  590. package/dist/modules/inbox_ops/api/webhook/inbound.js.map +2 -2
  591. package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js +6 -6
  592. package/dist/modules/inbox_ops/backend/inbox-ops/log/page.js.map +2 -2
  593. package/dist/modules/inbox_ops/components/proposals/EditActionDialog.js +25 -20
  594. package/dist/modules/inbox_ops/components/proposals/EditActionDialog.js.map +2 -2
  595. package/dist/modules/inbox_ops/search.js +15 -4
  596. package/dist/modules/inbox_ops/search.js.map +2 -2
  597. package/dist/modules/inbox_ops/subscribers/search-reindex-proposal-created.js +32 -0
  598. package/dist/modules/inbox_ops/subscribers/search-reindex-proposal-created.js.map +7 -0
  599. package/dist/modules/integrations/api/[id]/credentials/route.js +11 -5
  600. package/dist/modules/integrations/api/[id]/credentials/route.js.map +2 -2
  601. package/dist/modules/integrations/api/[id]/health/route.js +6 -3
  602. package/dist/modules/integrations/api/[id]/health/route.js.map +2 -2
  603. package/dist/modules/integrations/api/[id]/route.js +6 -3
  604. package/dist/modules/integrations/api/[id]/route.js.map +2 -2
  605. package/dist/modules/integrations/api/[id]/state/route.js +6 -3
  606. package/dist/modules/integrations/api/[id]/state/route.js.map +2 -2
  607. package/dist/modules/integrations/api/[id]/version/route.js +6 -3
  608. package/dist/modules/integrations/api/[id]/version/route.js.map +2 -2
  609. package/dist/modules/integrations/api/logs/route.js +6 -3
  610. package/dist/modules/integrations/api/logs/route.js.map +2 -2
  611. package/dist/modules/integrations/api/route.js +6 -3
  612. package/dist/modules/integrations/api/route.js.map +2 -2
  613. package/dist/modules/integrations/api/umes-read.js +2 -2
  614. package/dist/modules/integrations/api/umes-read.js.map +2 -2
  615. package/dist/modules/integrations/backend/integrations/[id]/page.js +2 -4
  616. package/dist/modules/integrations/backend/integrations/[id]/page.js.map +2 -2
  617. package/dist/modules/integrations/extension-points.js +30 -0
  618. package/dist/modules/integrations/extension-points.js.map +7 -0
  619. package/dist/modules/integrations/lib/organization-scope.js +2 -9
  620. package/dist/modules/integrations/lib/organization-scope.js.map +2 -2
  621. package/dist/modules/integrations/widgets/injection/external-ids/widget.client.js +0 -5
  622. package/dist/modules/integrations/widgets/injection/external-ids/widget.client.js.map +2 -2
  623. package/dist/modules/integrations/widgets/injection/external-ids/widget.js +14 -0
  624. package/dist/modules/integrations/widgets/injection/external-ids/widget.js.map +7 -0
  625. package/dist/modules/messages/api/[id]/route.js +15 -0
  626. package/dist/modules/messages/api/[id]/route.js.map +2 -2
  627. package/dist/modules/messages/api/route.js +77 -8
  628. package/dist/modules/messages/api/route.js.map +2 -2
  629. package/dist/modules/messages/components/ComposeMessagePageClient.js +2 -1
  630. package/dist/modules/messages/components/ComposeMessagePageClient.js.map +2 -2
  631. package/dist/modules/messages/components/MessageDetailPageClient.js +3 -2
  632. package/dist/modules/messages/components/MessageDetailPageClient.js.map +2 -2
  633. package/dist/modules/messages/components/MessagesInboxPageClient.js +2 -1
  634. package/dist/modules/messages/components/MessagesInboxPageClient.js.map +2 -2
  635. package/dist/modules/messages/components/message-detail/panels/dialogs.js +1 -1
  636. package/dist/modules/messages/components/message-detail/panels/dialogs.js.map +1 -1
  637. package/dist/modules/messages/extension-points.js +16 -0
  638. package/dist/modules/messages/extension-points.js.map +7 -0
  639. package/dist/modules/messages/lib/participantScope.js +15 -0
  640. package/dist/modules/messages/lib/participantScope.js.map +7 -0
  641. package/dist/modules/messages/lib/routeHelpers.js +1 -3
  642. package/dist/modules/messages/lib/routeHelpers.js.map +2 -2
  643. package/dist/modules/messages/lib/searchLookup.js +8 -16
  644. package/dist/modules/messages/lib/searchLookup.js.map +2 -2
  645. package/dist/modules/messages/search.js +10 -5
  646. package/dist/modules/messages/search.js.map +2 -2
  647. package/dist/modules/notifications/api/route.js +83 -4
  648. package/dist/modules/notifications/api/route.js.map +2 -2
  649. package/dist/modules/notifications/api/unread-count/route.js +25 -6
  650. package/dist/modules/notifications/api/unread-count/route.js.map +2 -2
  651. package/dist/modules/notifications/di.js +1 -1
  652. package/dist/modules/notifications/di.js.map +2 -2
  653. package/dist/modules/notifications/events.js +4 -2
  654. package/dist/modules/notifications/events.js.map +2 -2
  655. package/dist/modules/notifications/lib/notificationRecipients.js +6 -7
  656. package/dist/modules/notifications/lib/notificationRecipients.js.map +2 -2
  657. package/dist/modules/notifications/lib/notificationScope.js +26 -0
  658. package/dist/modules/notifications/lib/notificationScope.js.map +7 -0
  659. package/dist/modules/notifications/lib/notificationService.js +48 -4
  660. package/dist/modules/notifications/lib/notificationService.js.map +2 -2
  661. package/dist/modules/notifications/lib/routeHelpers.js +16 -2
  662. package/dist/modules/notifications/lib/routeHelpers.js.map +2 -2
  663. package/dist/modules/payment_gateways/api/capture/route.js +1 -1
  664. package/dist/modules/payment_gateways/api/capture/route.js.map +2 -2
  665. package/dist/modules/payment_gateways/api/sessions/route.js +6 -3
  666. package/dist/modules/payment_gateways/api/sessions/route.js.map +2 -2
  667. package/dist/modules/payment_gateways/api/webhook/[provider]/route.js +11 -1
  668. package/dist/modules/payment_gateways/api/webhook/[provider]/route.js.map +2 -2
  669. package/dist/modules/payment_gateways/backend/payment-gateways/page.js +3 -2
  670. package/dist/modules/payment_gateways/backend/payment-gateways/page.js.map +2 -2
  671. package/dist/modules/payment_gateways/data/entities.js +11 -0
  672. package/dist/modules/payment_gateways/data/entities.js.map +2 -2
  673. package/dist/modules/payment_gateways/di.js +17 -1
  674. package/dist/modules/payment_gateways/di.js.map +2 -2
  675. package/dist/modules/payment_gateways/extension-points.js +19 -0
  676. package/dist/modules/payment_gateways/extension-points.js.map +7 -0
  677. package/dist/modules/payment_gateways/lib/capture-ledger.js +183 -0
  678. package/dist/modules/payment_gateways/lib/capture-ledger.js.map +7 -0
  679. package/dist/modules/payment_gateways/lib/gateway-service.js +93 -14
  680. package/dist/modules/payment_gateways/lib/gateway-service.js.map +2 -2
  681. package/dist/modules/payment_gateways/lib/order-amount-reconciliation.js +58 -0
  682. package/dist/modules/payment_gateways/lib/order-amount-reconciliation.js.map +7 -0
  683. package/dist/modules/payment_gateways/lib/payment-operation-idempotency.js +1 -0
  684. package/dist/modules/payment_gateways/lib/payment-operation-idempotency.js.map +2 -2
  685. package/dist/modules/payment_gateways/lib/session-idempotency.js +33 -0
  686. package/dist/modules/payment_gateways/lib/session-idempotency.js.map +2 -2
  687. package/dist/modules/payment_gateways/migrations/Migration20260725101500_payment_gateways.js +16 -0
  688. package/dist/modules/payment_gateways/migrations/Migration20260725101500_payment_gateways.js.map +7 -0
  689. package/dist/modules/payment_gateways/migrations/Migration20260803103035_payment_gateways.js +18 -0
  690. package/dist/modules/payment_gateways/migrations/Migration20260803103035_payment_gateways.js.map +7 -0
  691. package/dist/modules/payment_gateways/setup.js +47 -0
  692. package/dist/modules/payment_gateways/setup.js.map +2 -2
  693. package/dist/modules/payment_gateways/workers/session-initialization-prune.js +50 -0
  694. package/dist/modules/payment_gateways/workers/session-initialization-prune.js.map +7 -0
  695. package/dist/modules/planner/components/AvailabilityRulesEditor.js +4 -4
  696. package/dist/modules/planner/components/AvailabilityRulesEditor.js.map +2 -2
  697. package/dist/modules/planner/components/unavailabilityReasons.js +3 -3
  698. package/dist/modules/planner/components/unavailabilityReasons.js.map +2 -2
  699. package/dist/modules/portal/extension-points.js +32 -0
  700. package/dist/modules/portal/extension-points.js.map +7 -0
  701. package/dist/modules/portal/frontend/[orgSlug]/portal/dashboard/page.js +3 -3
  702. package/dist/modules/portal/frontend/[orgSlug]/portal/dashboard/page.js.map +2 -2
  703. package/dist/modules/portal/frontend/[orgSlug]/portal/invite/page.js +134 -0
  704. package/dist/modules/portal/frontend/[orgSlug]/portal/invite/page.js.map +7 -0
  705. package/dist/modules/portal/frontend/[orgSlug]/portal/invite/page.meta.js +11 -0
  706. package/dist/modules/portal/frontend/[orgSlug]/portal/invite/page.meta.js.map +7 -0
  707. package/dist/modules/portal/frontend/[orgSlug]/portal/login/page.js +4 -4
  708. package/dist/modules/portal/frontend/[orgSlug]/portal/login/page.js.map +2 -2
  709. package/dist/modules/portal/frontend/[orgSlug]/portal/page.js +3 -3
  710. package/dist/modules/portal/frontend/[orgSlug]/portal/page.js.map +2 -2
  711. package/dist/modules/portal/frontend/[orgSlug]/portal/profile/page.js +3 -3
  712. package/dist/modules/portal/frontend/[orgSlug]/portal/profile/page.js.map +2 -2
  713. package/dist/modules/portal/frontend/[orgSlug]/portal/reset-password/page.js +4 -4
  714. package/dist/modules/portal/frontend/[orgSlug]/portal/reset-password/page.js.map +2 -2
  715. package/dist/modules/portal/frontend/[orgSlug]/portal/signup/page.js +4 -4
  716. package/dist/modules/portal/frontend/[orgSlug]/portal/signup/page.js.map +2 -2
  717. package/dist/modules/portal/frontend/[orgSlug]/portal/verify/page.js +1 -1
  718. package/dist/modules/portal/frontend/[orgSlug]/portal/verify/page.js.map +2 -2
  719. package/dist/modules/portal/lib/navigation.js +7 -0
  720. package/dist/modules/portal/lib/navigation.js.map +7 -0
  721. package/dist/modules/progress/lib/progressService.js +2 -0
  722. package/dist/modules/progress/lib/progressService.js.map +2 -2
  723. package/dist/modules/progress/lib/progressServiceImpl.js +322 -104
  724. package/dist/modules/progress/lib/progressServiceImpl.js.map +2 -2
  725. package/dist/modules/query_index/api/openapi.js +13 -1
  726. package/dist/modules/query_index/api/openapi.js.map +2 -2
  727. package/dist/modules/query_index/api/reindex.js +10 -0
  728. package/dist/modules/query_index/api/reindex.js.map +2 -2
  729. package/dist/modules/query_index/api/status.js +165 -105
  730. package/dist/modules/query_index/api/status.js.map +2 -2
  731. package/dist/modules/query_index/cli.js +125 -1
  732. package/dist/modules/query_index/cli.js.map +2 -2
  733. package/dist/modules/query_index/components/QueryIndexesTable.js +130 -42
  734. package/dist/modules/query_index/components/QueryIndexesTable.js.map +2 -2
  735. package/dist/modules/query_index/data/entities.js +2 -1
  736. package/dist/modules/query_index/data/entities.js.map +2 -2
  737. package/dist/modules/query_index/di.js +3 -0
  738. package/dist/modules/query_index/di.js.map +2 -2
  739. package/dist/modules/query_index/events.js +20 -0
  740. package/dist/modules/query_index/events.js.map +7 -0
  741. package/dist/modules/query_index/extension-points.js +13 -0
  742. package/dist/modules/query_index/extension-points.js.map +7 -0
  743. package/dist/modules/query_index/lib/batch.js +11 -4
  744. package/dist/modules/query_index/lib/batch.js.map +2 -2
  745. package/dist/modules/query_index/lib/coverage.js +21 -9
  746. package/dist/modules/query_index/lib/coverage.js.map +2 -2
  747. package/dist/modules/query_index/lib/document.js +12 -5
  748. package/dist/modules/query_index/lib/document.js.map +2 -2
  749. package/dist/modules/query_index/lib/engine.js +105 -48
  750. package/dist/modules/query_index/lib/engine.js.map +2 -2
  751. package/dist/modules/query_index/lib/indexer.js +95 -19
  752. package/dist/modules/query_index/lib/indexer.js.map +2 -2
  753. package/dist/modules/query_index/lib/reindexer.js +43 -37
  754. package/dist/modules/query_index/lib/reindexer.js.map +2 -2
  755. package/dist/modules/query_index/lib/search-tokens.js +34 -15
  756. package/dist/modules/query_index/lib/search-tokens.js.map +2 -2
  757. package/dist/modules/query_index/lib/subscriber-scope.js +2 -3
  758. package/dist/modules/query_index/lib/subscriber-scope.js.map +2 -2
  759. package/dist/modules/query_index/migrations/Migration20260731105052_query_index.js +17 -0
  760. package/dist/modules/query_index/migrations/Migration20260731105052_query_index.js.map +7 -0
  761. package/dist/modules/query_index/subscribers/coverage_refresh.js +4 -0
  762. package/dist/modules/query_index/subscribers/coverage_refresh.js.map +2 -2
  763. package/dist/modules/query_index/subscribers/delete_one.js +53 -1
  764. package/dist/modules/query_index/subscribers/delete_one.js.map +3 -3
  765. package/dist/modules/query_index/subscribers/upsert_one.js +60 -0
  766. package/dist/modules/query_index/subscribers/upsert_one.js.map +3 -3
  767. package/dist/modules/resources/api/resources.js +2 -0
  768. package/dist/modules/resources/api/resources.js.map +2 -2
  769. package/dist/modules/resources/backend/resources/resource-types/page.js +2 -1
  770. package/dist/modules/resources/backend/resources/resource-types/page.js.map +2 -2
  771. package/dist/modules/resources/backend/resources/resources/[id]/page.js +3 -2
  772. package/dist/modules/resources/backend/resources/resources/[id]/page.js.map +2 -2
  773. package/dist/modules/resources/backend/resources/resources/page.js +2 -1
  774. package/dist/modules/resources/backend/resources/resources/page.js.map +2 -2
  775. package/dist/modules/resources/commands/resources.js +9 -0
  776. package/dist/modules/resources/commands/resources.js.map +2 -2
  777. package/dist/modules/resources/components/detail/dictionaries.js +3 -3
  778. package/dist/modules/resources/components/detail/dictionaries.js.map +2 -2
  779. package/dist/modules/resources/data/entities.js +3 -0
  780. package/dist/modules/resources/data/entities.js.map +2 -2
  781. package/dist/modules/resources/data/validators.js +6 -2
  782. package/dist/modules/resources/data/validators.js.map +2 -2
  783. package/dist/modules/resources/extension-points.js +14 -0
  784. package/dist/modules/resources/extension-points.js.map +7 -0
  785. package/dist/modules/resources/lib/seeds.js +16 -9
  786. package/dist/modules/resources/lib/seeds.js.map +2 -2
  787. package/dist/modules/resources/migrations/Migration20260608231000.js +13 -0
  788. package/dist/modules/resources/migrations/Migration20260608231000.js.map +7 -0
  789. package/dist/modules/sales/analytics.js +7 -3
  790. package/dist/modules/sales/analytics.js.map +2 -2
  791. package/dist/modules/sales/api/document-history/route.js +2 -1
  792. package/dist/modules/sales/api/document-history/route.js.map +2 -2
  793. package/dist/modules/sales/api/documents/factory.js +14 -3
  794. package/dist/modules/sales/api/documents/factory.js.map +2 -2
  795. package/dist/modules/sales/backend/sales/documents/[id]/page.js +11 -3
  796. package/dist/modules/sales/backend/sales/documents/[id]/page.js.map +2 -2
  797. package/dist/modules/sales/backend/sales/documents/create/page.js +11 -14
  798. package/dist/modules/sales/backend/sales/documents/create/page.js.map +2 -2
  799. package/dist/modules/sales/commands/documents.js +184 -23
  800. package/dist/modules/sales/commands/documents.js.map +2 -2
  801. package/dist/modules/sales/components/documents/ItemsSection.js +31 -11
  802. package/dist/modules/sales/components/documents/ItemsSection.js.map +2 -2
  803. package/dist/modules/sales/components/documents/LineItemDialog.js +12 -5
  804. package/dist/modules/sales/components/documents/LineItemDialog.js.map +2 -2
  805. package/dist/modules/sales/components/documents/SalesDocumentForm.js +48 -2
  806. package/dist/modules/sales/components/documents/SalesDocumentForm.js.map +2 -2
  807. package/dist/modules/sales/components/documents/SalesDocumentsTable.js +4 -1
  808. package/dist/modules/sales/components/documents/SalesDocumentsTable.js.map +2 -2
  809. package/dist/modules/sales/components/documents/SalesOrderDraftLines.js +167 -0
  810. package/dist/modules/sales/components/documents/SalesOrderDraftLines.js.map +7 -0
  811. package/dist/modules/sales/components/useSalesChannelsEnabled.js +2 -35
  812. package/dist/modules/sales/components/useSalesChannelsEnabled.js.map +2 -2
  813. package/dist/modules/sales/data/validators.js +32 -5
  814. package/dist/modules/sales/data/validators.js.map +2 -2
  815. package/dist/modules/sales/di.js +7 -0
  816. package/dist/modules/sales/di.js.map +2 -2
  817. package/dist/modules/sales/events.js +1 -0
  818. package/dist/modules/sales/events.js.map +2 -2
  819. package/dist/modules/sales/extension-points.js +36 -0
  820. package/dist/modules/sales/extension-points.js.map +7 -0
  821. package/dist/modules/sales/lib/historyHelpers.js +69 -1
  822. package/dist/modules/sales/lib/historyHelpers.js.map +2 -2
  823. package/dist/modules/sales/services/paymentOrderTotalResolver.js +52 -0
  824. package/dist/modules/sales/services/paymentOrderTotalResolver.js.map +7 -0
  825. package/dist/modules/sales/widgets/injection/document-history/widget.client.js +51 -2
  826. package/dist/modules/sales/widgets/injection/document-history/widget.client.js.map +2 -2
  827. package/dist/modules/sales/workflows.js +10 -7
  828. package/dist/modules/sales/workflows.js.map +2 -2
  829. package/dist/modules/shipping_carriers/api/webhook/[provider]/route.js +11 -1
  830. package/dist/modules/shipping_carriers/api/webhook/[provider]/route.js.map +2 -2
  831. package/dist/modules/shipping_carriers/lib/shipment-wizard/components/PackageEditor.js +1 -1
  832. package/dist/modules/shipping_carriers/lib/shipment-wizard/components/PackageEditor.js.map +1 -1
  833. package/dist/modules/staff/api/interceptors.js +5 -3
  834. package/dist/modules/staff/api/interceptors.js.map +2 -2
  835. package/dist/modules/staff/api/leave-requests.js +45 -42
  836. package/dist/modules/staff/api/leave-requests.js.map +2 -2
  837. package/dist/modules/staff/components/detail/dictionaries.js +3 -3
  838. package/dist/modules/staff/components/detail/dictionaries.js.map +2 -2
  839. package/dist/modules/sync_excel/api/upload/route.js +15 -2
  840. package/dist/modules/sync_excel/api/upload/route.js.map +2 -2
  841. package/dist/modules/sync_excel/widgets/injection/upload-config/widget.client.js +1 -1
  842. package/dist/modules/sync_excel/widgets/injection/upload-config/widget.client.js.map +2 -2
  843. package/dist/modules/wms/components/backend/ReleaseReservationDialog.js +1 -1
  844. package/dist/modules/wms/components/backend/ReleaseReservationDialog.js.map +1 -1
  845. package/dist/modules/wms/components/backend/WmsConfigurationPage.js +5 -4
  846. package/dist/modules/wms/components/backend/WmsConfigurationPage.js.map +2 -2
  847. package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js +4 -3
  848. package/dist/modules/wms/components/backend/WmsInventoryConsolePage.js.map +2 -2
  849. package/dist/modules/wms/components/backend/WmsLocationDetailPage.js +3 -2
  850. package/dist/modules/wms/components/backend/WmsLocationDetailPage.js.map +2 -2
  851. package/dist/modules/wms/components/backend/WmsLotDetailPage.js +3 -2
  852. package/dist/modules/wms/components/backend/WmsLotDetailPage.js.map +2 -2
  853. package/dist/modules/wms/components/backend/WmsLotsListPage.js +2 -1
  854. package/dist/modules/wms/components/backend/WmsLotsListPage.js.map +2 -2
  855. package/dist/modules/wms/components/backend/WmsSkuDetailPage.js +3 -2
  856. package/dist/modules/wms/components/backend/WmsSkuDetailPage.js.map +2 -2
  857. package/dist/modules/wms/extension-points.js +26 -0
  858. package/dist/modules/wms/extension-points.js.map +7 -0
  859. package/dist/modules/workflows/backend/definitions/[id]/page.js +2 -2
  860. package/dist/modules/workflows/backend/definitions/[id]/page.js.map +2 -2
  861. package/dist/modules/workflows/backend/definitions/create/page.js +1 -1
  862. package/dist/modules/workflows/backend/definitions/create/page.js.map +2 -2
  863. package/dist/modules/workflows/backend/definitions/page.js +3 -2
  864. package/dist/modules/workflows/backend/definitions/page.js.map +2 -2
  865. package/dist/modules/workflows/backend/definitions/visual-editor/page.js +9 -6
  866. package/dist/modules/workflows/backend/definitions/visual-editor/page.js.map +2 -2
  867. package/dist/modules/workflows/backend/instances/page.js +10 -9
  868. package/dist/modules/workflows/backend/instances/page.js.map +2 -2
  869. package/dist/modules/workflows/backend/tasks/page.js +8 -7
  870. package/dist/modules/workflows/backend/tasks/page.js.map +2 -2
  871. package/dist/modules/workflows/components/ActivitiesEditor.js +69 -13
  872. package/dist/modules/workflows/components/ActivitiesEditor.js.map +2 -2
  873. package/dist/modules/workflows/components/BusinessRulesSelector.js +1 -1
  874. package/dist/modules/workflows/components/BusinessRulesSelector.js.map +2 -2
  875. package/dist/modules/workflows/components/DefinitionTriggersEditor.js +3 -3
  876. package/dist/modules/workflows/components/DefinitionTriggersEditor.js.map +2 -2
  877. package/dist/modules/workflows/components/EdgeEditDialogCrudForm.js +1 -2
  878. package/dist/modules/workflows/components/EdgeEditDialogCrudForm.js.map +2 -2
  879. package/dist/modules/workflows/components/NodeEditDialog.js +3 -3
  880. package/dist/modules/workflows/components/NodeEditDialog.js.map +2 -2
  881. package/dist/modules/workflows/components/NodeEditDialogCrudForm.js +4 -5
  882. package/dist/modules/workflows/components/NodeEditDialogCrudForm.js.map +2 -2
  883. package/dist/modules/workflows/components/StepsEditor.js +2 -2
  884. package/dist/modules/workflows/components/StepsEditor.js.map +2 -2
  885. package/dist/modules/workflows/components/TransitionsEditor.js +207 -165
  886. package/dist/modules/workflows/components/TransitionsEditor.js.map +2 -2
  887. package/dist/modules/workflows/components/WorkflowGraphImpl.js +1 -1
  888. package/dist/modules/workflows/components/WorkflowGraphImpl.js.map +2 -2
  889. package/dist/modules/workflows/components/WorkflowLegend.js +1 -1
  890. package/dist/modules/workflows/components/WorkflowLegend.js.map +2 -2
  891. package/dist/modules/workflows/components/WorkflowSelector.js +1 -1
  892. package/dist/modules/workflows/components/WorkflowSelector.js.map +2 -2
  893. package/dist/modules/workflows/components/fields/BusinessRuleConditionsEditor.js +1 -1
  894. package/dist/modules/workflows/components/fields/BusinessRuleConditionsEditor.js.map +2 -2
  895. package/dist/modules/workflows/components/fields/FormFieldArrayEditor.js +2 -2
  896. package/dist/modules/workflows/components/fields/FormFieldArrayEditor.js.map +2 -2
  897. package/dist/modules/workflows/components/fields/MappingArrayEditor.js +1 -1
  898. package/dist/modules/workflows/components/fields/MappingArrayEditor.js.map +2 -2
  899. package/dist/modules/workflows/components/fields/StartPreConditionsEditor.js +1 -1
  900. package/dist/modules/workflows/components/fields/StartPreConditionsEditor.js.map +2 -2
  901. package/dist/modules/workflows/components/fields/WorkflowSelectorField.js +4 -4
  902. package/dist/modules/workflows/components/fields/WorkflowSelectorField.js.map +2 -2
  903. package/dist/modules/workflows/data/validators.js +34 -1
  904. package/dist/modules/workflows/data/validators.js.map +3 -3
  905. package/dist/modules/workflows/events.js +1 -0
  906. package/dist/modules/workflows/events.js.map +2 -2
  907. package/dist/modules/workflows/extension-points.js +15 -0
  908. package/dist/modules/workflows/extension-points.js.map +7 -0
  909. package/dist/modules/workflows/lib/activity-executor.js +59 -14
  910. package/dist/modules/workflows/lib/activity-executor.js.map +2 -2
  911. package/dist/modules/workflows/lib/format-validation-error.js +46 -1
  912. package/dist/modules/workflows/lib/format-validation-error.js.map +2 -2
  913. package/dist/modules/workflows/widgets/injection/order-approval/context-keys.js +10 -0
  914. package/dist/modules/workflows/widgets/injection/order-approval/context-keys.js.map +7 -0
  915. package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js +21 -10
  916. package/dist/modules/workflows/widgets/injection/order-approval/widget.client.js.map +2 -2
  917. package/generated/entities/attachment_quota_reservation/index.ts +15 -0
  918. package/generated/entities/customer_deal_person_link/index.ts +1 -0
  919. package/generated/entities/customer_user_invitation/index.ts +1 -0
  920. package/generated/entities/gateway_payment_operation/index.ts +1 -0
  921. package/generated/entities/gateway_transaction/index.ts +1 -0
  922. package/generated/entities/organization/index.ts +1 -0
  923. package/generated/entities/resources_resource/index.ts +1 -0
  924. package/generated/entities.ids.generated.ts +3 -1
  925. package/generated/entity-fields-registry.ts +23 -0
  926. package/package.json +19 -18
  927. package/src/bootstrap.ts +17 -2
  928. package/src/helpers/integration/salesFixtures.ts +34 -2
  929. package/src/helpers/integration/salesUi.ts +8 -0
  930. package/src/modules/api_keys/backend/api-keys/page.tsx +2 -1
  931. package/src/modules/api_keys/extension-points.ts +13 -0
  932. package/src/modules/api_keys/i18n/ko.json +42 -0
  933. package/src/modules/attachments/api/route.ts +130 -9
  934. package/src/modules/attachments/backend/config/attachments/page.tsx +1 -1
  935. package/src/modules/attachments/data/entities.ts +59 -0
  936. package/src/modules/attachments/di.ts +9 -1
  937. package/src/modules/attachments/fields/attachment.tsx +1 -1
  938. package/src/modules/attachments/i18n/de.json +15 -0
  939. package/src/modules/attachments/i18n/en.json +15 -0
  940. package/src/modules/attachments/i18n/es.json +15 -0
  941. package/src/modules/attachments/i18n/ko.json +175 -0
  942. package/src/modules/attachments/i18n/pl.json +15 -0
  943. package/src/modules/attachments/lib/drivers/index.ts +1 -1
  944. package/src/modules/attachments/lib/drivers/localDriver.ts +23 -8
  945. package/src/modules/attachments/lib/drivers/types.ts +5 -0
  946. package/src/modules/attachments/lib/quota-recovery-queue.ts +16 -0
  947. package/src/modules/attachments/lib/quota-service.ts +442 -0
  948. package/src/modules/attachments/lib/upload-limits.ts +35 -0
  949. package/src/modules/attachments/migrations/.snapshot-open-mercato.json +648 -120
  950. package/src/modules/attachments/migrations/Migration20260709234741_attachments.ts +12 -0
  951. package/src/modules/attachments/workers/quota-recovery.ts +68 -0
  952. package/src/modules/audit_logs/api/audit-logs/access/route.ts +5 -0
  953. package/src/modules/audit_logs/api/audit-logs/actions/export/route.ts +5 -0
  954. package/src/modules/audit_logs/api/audit-logs/actions/route.ts +5 -0
  955. package/src/modules/audit_logs/api/audit-logs/readScope.ts +28 -0
  956. package/src/modules/audit_logs/components/AccessLogsTable.tsx +2 -1
  957. package/src/modules/audit_logs/components/AuditLogsActions.tsx +3 -2
  958. package/src/modules/audit_logs/extension-points.ts +11 -0
  959. package/src/modules/audit_logs/i18n/ko.json +66 -0
  960. package/src/modules/auth/AGENTS.md +12 -8
  961. package/src/modules/auth/api/admin/nav.ts +28 -4
  962. package/src/modules/auth/api/profile/route.ts +8 -2
  963. package/src/modules/auth/api/users/route.ts +8 -28
  964. package/src/modules/auth/backend/auth/profile/page.tsx +1 -0
  965. package/src/modules/auth/backend/profile/change-password/page.tsx +1 -0
  966. package/src/modules/auth/backend/roles/page.tsx +2 -1
  967. package/src/modules/auth/backend/settings/page.tsx +17 -8
  968. package/src/modules/auth/backend/users/page.tsx +2 -1
  969. package/src/modules/auth/cli.ts +1 -1
  970. package/src/modules/auth/components/UserConsentsPanel.tsx +9 -9
  971. package/src/modules/auth/extension-points.ts +18 -0
  972. package/src/modules/auth/frontend/login.tsx +7 -3
  973. package/src/modules/auth/frontend/reset.tsx +2 -2
  974. package/src/modules/auth/i18n/de.json +1 -0
  975. package/src/modules/auth/i18n/en.json +1 -0
  976. package/src/modules/auth/i18n/es.json +1 -0
  977. package/src/modules/auth/i18n/ko.json +255 -0
  978. package/src/modules/auth/i18n/pl.json +1 -0
  979. package/src/modules/auth/lib/backendChrome.tsx +71 -33
  980. package/src/modules/auth/lib/setup-app.ts +21 -2
  981. package/src/modules/auth/lib/tenantAccess.ts +8 -0
  982. package/src/modules/auth/services/rbacService.ts +41 -46
  983. package/src/modules/business_rules/api/openmercato-call-options/route.ts +94 -0
  984. package/src/modules/business_rules/api/rules/route.ts +92 -4
  985. package/src/modules/business_rules/backend/rules/page.tsx +2 -1
  986. package/src/modules/business_rules/components/ActionBuilder.tsx +54 -5
  987. package/src/modules/business_rules/components/ActionRow.tsx +156 -18
  988. package/src/modules/business_rules/components/ConditionRow.tsx +9 -6
  989. package/src/modules/business_rules/components/utils/actionValidation.ts +6 -0
  990. package/src/modules/business_rules/events.ts +10 -0
  991. package/src/modules/business_rules/extension-points.ts +10 -0
  992. package/src/modules/business_rules/i18n/de.json +12 -0
  993. package/src/modules/business_rules/i18n/en.json +12 -0
  994. package/src/modules/business_rules/i18n/es.json +12 -0
  995. package/src/modules/business_rules/i18n/ko.json +396 -0
  996. package/src/modules/business_rules/i18n/pl.json +12 -0
  997. package/src/modules/business_rules/lib/action-executor.ts +198 -0
  998. package/src/modules/business_rules/lib/openmercato-call-options-types.ts +31 -0
  999. package/src/modules/business_rules/lib/openmercato-call-options.ts +297 -0
  1000. package/src/modules/business_rules/lib/rule-engine.ts +4 -0
  1001. package/src/modules/catalog/backend/catalog/products/[id]/page.tsx +6 -5
  1002. package/src/modules/catalog/backend/catalog/products/create/page.tsx +7 -6
  1003. package/src/modules/catalog/components/PriceKindSettings.tsx +3 -3
  1004. package/src/modules/catalog/components/categories/CategoriesDataTable.tsx +2 -1
  1005. package/src/modules/catalog/components/products/ProductCategorizeSection.tsx +3 -3
  1006. package/src/modules/catalog/components/products/ProductMediaManager.tsx +1 -1
  1007. package/src/modules/catalog/components/products/ProductsDataTable.tsx +3 -2
  1008. package/src/modules/catalog/components/products/VariantBuilder.tsx +5 -5
  1009. package/src/modules/catalog/events.ts +1 -0
  1010. package/src/modules/catalog/extension-points.ts +24 -0
  1011. package/src/modules/catalog/i18n/de.json +18 -0
  1012. package/src/modules/catalog/i18n/en.json +18 -0
  1013. package/src/modules/catalog/i18n/es.json +18 -0
  1014. package/src/modules/catalog/i18n/ko.json +723 -0
  1015. package/src/modules/catalog/i18n/pl.json +18 -0
  1016. package/src/modules/catalog/widgets/injection/product-bulk-delete/widget.ts +15 -5
  1017. package/src/modules/catalog/widgets/injection/product-seo/widget.ts +1 -1
  1018. package/src/modules/communication_channels/api/post/test-seed/route.ts +69 -2
  1019. package/src/modules/communication_channels/api/post/webhook/[provider]/route.ts +11 -1
  1020. package/src/modules/communication_channels/api/post/webhooks/gmail/route.ts +17 -11
  1021. package/src/modules/communication_channels/backend/communication_channels/channels/page.tsx +2 -1
  1022. package/src/modules/communication_channels/backend/profile/communication-channels/page.tsx +8 -7
  1023. package/src/modules/communication_channels/data/enrichers.ts +6 -26
  1024. package/src/modules/communication_channels/extension-points.ts +17 -0
  1025. package/src/modules/communication_channels/i18n/de.json +2 -2
  1026. package/src/modules/communication_channels/i18n/en.json +2 -2
  1027. package/src/modules/communication_channels/i18n/es.json +2 -2
  1028. package/src/modules/communication_channels/i18n/ko.json +138 -0
  1029. package/src/modules/communication_channels/i18n/pl.json +2 -2
  1030. package/src/modules/communication_channels/lib/access-control.ts +3 -3
  1031. package/src/modules/configs/backend/config/system-status/page.tsx +2 -1
  1032. package/src/modules/configs/extension-points.ts +15 -0
  1033. package/src/modules/configs/i18n/ko.json +197 -0
  1034. package/src/modules/configs/lib/upgrade-actions.ts +14 -0
  1035. package/src/modules/currencies/backend/currencies/page.tsx +2 -1
  1036. package/src/modules/currencies/backend/exchange-rates/page.tsx +2 -1
  1037. package/src/modules/currencies/di.ts +4 -1
  1038. package/src/modules/currencies/extension-points.ts +11 -0
  1039. package/src/modules/currencies/i18n/de.json +1 -0
  1040. package/src/modules/currencies/i18n/en.json +1 -0
  1041. package/src/modules/currencies/i18n/es.json +1 -0
  1042. package/src/modules/currencies/i18n/ko.json +160 -0
  1043. package/src/modules/currencies/i18n/pl.json +1 -0
  1044. package/src/modules/currencies/services/baseCurrencyService.ts +59 -0
  1045. package/src/modules/customer_accounts/AGENTS.md +3 -3
  1046. package/src/modules/customer_accounts/api/admin/users/[id].ts +16 -1
  1047. package/src/modules/customer_accounts/api/admin/users-invite.ts +81 -3
  1048. package/src/modules/customer_accounts/api/invitations/accept.ts +1 -2
  1049. package/src/modules/customer_accounts/api/login.ts +4 -2
  1050. package/src/modules/customer_accounts/api/magic-link/verify.ts +4 -2
  1051. package/src/modules/customer_accounts/api/portal/feature-check.ts +5 -7
  1052. package/src/modules/customer_accounts/api/portal/nav.ts +5 -3
  1053. package/src/modules/customer_accounts/api/portal/profile.ts +5 -1
  1054. package/src/modules/customer_accounts/api/portal/sessions-refresh.ts +3 -3
  1055. package/src/modules/customer_accounts/api/portal/users-invite.ts +25 -1
  1056. package/src/modules/customer_accounts/backend/customer_accounts/roles/page.tsx +2 -1
  1057. package/src/modules/customer_accounts/backend/customer_accounts/settings/domain/components/Diagnostics.tsx +2 -2
  1058. package/src/modules/customer_accounts/backend/customer_accounts/users/page.tsx +2 -1
  1059. package/src/modules/customer_accounts/data/entities.ts +3 -0
  1060. package/src/modules/customer_accounts/data/validators.ts +1 -0
  1061. package/src/modules/customer_accounts/emails/CustomerInvitationEmail.tsx +45 -0
  1062. package/src/modules/customer_accounts/extension-points.ts +11 -0
  1063. package/src/modules/customer_accounts/i18n/de.json +6 -0
  1064. package/src/modules/customer_accounts/i18n/en.json +6 -0
  1065. package/src/modules/customer_accounts/i18n/es.json +6 -0
  1066. package/src/modules/customer_accounts/i18n/ko.json +354 -0
  1067. package/src/modules/customer_accounts/i18n/pl.json +6 -0
  1068. package/src/modules/customer_accounts/lib/customerAuth.ts +8 -2
  1069. package/src/modules/customer_accounts/lib/customerAuthServer.ts +1 -0
  1070. package/src/modules/customer_accounts/lib/customerEntityOwnership.ts +68 -2
  1071. package/src/modules/customer_accounts/lib/customerUrl.ts +27 -11
  1072. package/src/modules/customer_accounts/lib/invitationEmail.ts +42 -0
  1073. package/src/modules/customer_accounts/migrations/.snapshot-open-mercato.json +16 -0
  1074. package/src/modules/customer_accounts/migrations/Migration20260723120000_customer_accounts.ts +13 -0
  1075. package/src/modules/customer_accounts/services/customerInvitationService.ts +56 -3
  1076. package/src/modules/customer_accounts/services/customerRbacService.ts +16 -3
  1077. package/src/modules/customer_accounts/setup.ts +7 -0
  1078. package/src/modules/customer_accounts/subscribers/autoLinkCrm.ts +75 -8
  1079. package/src/modules/customer_accounts/widgets/injection/account-status/widget.client.tsx +2 -2
  1080. package/src/modules/customer_accounts/widgets/injection/portal-ai-assistant-trigger/widget.client.tsx +1 -3
  1081. package/src/modules/customer_accounts/widgets/injection-table.ts +4 -1
  1082. package/src/modules/customers/analytics.ts +3 -0
  1083. package/src/modules/customers/api/companies/[id]/route.ts +3 -4
  1084. package/src/modules/customers/api/deals/[id]/people/route.ts +3 -0
  1085. package/src/modules/customers/api/deals/[id]/route.ts +10 -2
  1086. package/src/modules/customers/api/deals/aggregate/route.ts +5 -4
  1087. package/src/modules/customers/api/deals/summary/route.ts +15 -162
  1088. package/src/modules/customers/api/people/[id]/companies/enriched/route.ts +3 -2
  1089. package/src/modules/customers/api/utils.ts +25 -37
  1090. package/src/modules/customers/backend/customers/companies/[id]/page.tsx +2 -1
  1091. package/src/modules/customers/backend/customers/companies/page.tsx +2 -1
  1092. package/src/modules/customers/backend/customers/companies-v2/[id]/page.tsx +17 -5
  1093. package/src/modules/customers/backend/customers/deals/[id]/hooks/types.ts +1 -0
  1094. package/src/modules/customers/backend/customers/deals/[id]/page.tsx +19 -12
  1095. package/src/modules/customers/backend/customers/deals/page.tsx +2 -1
  1096. package/src/modules/customers/backend/customers/deals/pipeline/components/QuickDealDialog.tsx +35 -3
  1097. package/src/modules/customers/backend/customers/deals/pipeline/page.tsx +11 -2
  1098. package/src/modules/customers/backend/customers/people/[id]/page.tsx +2 -1
  1099. package/src/modules/customers/backend/customers/people/page.tsx +2 -1
  1100. package/src/modules/customers/backend/customers/people-v2/[id]/page.tsx +29 -10
  1101. package/src/modules/customers/cli.ts +28 -11
  1102. package/src/modules/customers/commands/deals.ts +50 -9
  1103. package/src/modules/customers/commands/people.ts +3 -0
  1104. package/src/modules/customers/components/CustomerTodosTable.tsx +2 -1
  1105. package/src/modules/customers/components/calendar/CalendarEventEditor.tsx +1 -1
  1106. package/src/modules/customers/components/detail/ActiveDealCard.tsx +2 -1
  1107. package/src/modules/customers/components/detail/ActivitiesDayStrip.tsx +2 -3
  1108. package/src/modules/customers/components/detail/CompanyDetailTabs.tsx +30 -7
  1109. package/src/modules/customers/components/detail/CompanyKpiBar.tsx +6 -5
  1110. package/src/modules/customers/components/detail/ConfirmDealLostDialog.tsx +2 -2
  1111. package/src/modules/customers/components/detail/DealDetailTabs.tsx +34 -9
  1112. package/src/modules/customers/components/detail/DealForm.tsx +5 -1
  1113. package/src/modules/customers/components/detail/DealsSection.tsx +1 -1
  1114. package/src/modules/customers/components/detail/MiniWeekCalendar.tsx +8 -57
  1115. package/src/modules/customers/components/detail/PersonDetailTabs.tsx +34 -9
  1116. package/src/modules/customers/components/detail/ScheduleActivityDialog.tsx +29 -14
  1117. package/src/modules/customers/components/detail/dashboard/helpers.ts +4 -3
  1118. package/src/modules/customers/components/detail/legacyActivities.ts +79 -0
  1119. package/src/modules/customers/components/formConfig.tsx +12 -8
  1120. package/src/modules/customers/data/entities.ts +9 -1
  1121. package/src/modules/customers/data/validators.ts +6 -1
  1122. package/src/modules/customers/extension-points.ts +40 -0
  1123. package/src/modules/customers/i18n/de.json +72 -0
  1124. package/src/modules/customers/i18n/en.json +72 -0
  1125. package/src/modules/customers/i18n/es.json +72 -0
  1126. package/src/modules/customers/i18n/ko.json +2855 -0
  1127. package/src/modules/customers/i18n/pl.json +72 -0
  1128. package/src/modules/customers/lib/calendar/format.ts +10 -4
  1129. package/src/modules/customers/lib/dealStatus.ts +48 -0
  1130. package/src/modules/customers/lib/dealsSummaryQueries.ts +211 -0
  1131. package/src/modules/customers/lib/optionalBaseCurrency.ts +34 -0
  1132. package/src/modules/customers/lib/visibilityFilter.ts +7 -5
  1133. package/src/modules/customers/migrations/.snapshot-open-mercato.json +27 -1
  1134. package/src/modules/customers/migrations/Migration20260723210000_customers.ts +15 -0
  1135. package/src/modules/customers/search.ts +59 -27
  1136. package/src/modules/customers/utils/phoneDuplicates.ts +6 -3
  1137. package/src/modules/dashboards/api/layout/[itemId]/route.ts +6 -3
  1138. package/src/modules/dashboards/api/layout/route.ts +22 -9
  1139. package/src/modules/dashboards/api/roles/widgets/route.ts +9 -3
  1140. package/src/modules/dashboards/api/users/widgets/route.ts +9 -3
  1141. package/src/modules/dashboards/api/widgets/catalog.ts +6 -3
  1142. package/src/modules/dashboards/api/widgets/data/batch/route.ts +12 -1
  1143. package/src/modules/dashboards/api/widgets/data/route.ts +29 -1
  1144. package/src/modules/dashboards/api/widgets/data/schema.ts +49 -19
  1145. package/src/modules/dashboards/components/UnlabelledAmountNotice.tsx +43 -0
  1146. package/src/modules/dashboards/i18n/de.json +5 -0
  1147. package/src/modules/dashboards/i18n/en.json +5 -0
  1148. package/src/modules/dashboards/i18n/es.json +5 -0
  1149. package/src/modules/dashboards/i18n/ko.json +118 -0
  1150. package/src/modules/dashboards/i18n/pl.json +5 -0
  1151. package/src/modules/dashboards/lib/access.ts +5 -3
  1152. package/src/modules/dashboards/lib/aggregations.ts +198 -48
  1153. package/src/modules/dashboards/lib/exactDecimal.ts +96 -0
  1154. package/src/modules/dashboards/lib/formatters.ts +137 -12
  1155. package/src/modules/dashboards/lib/optionalBaseCurrency.ts +22 -0
  1156. package/src/modules/dashboards/services/widgetDataService.ts +453 -12
  1157. package/src/modules/dashboards/subscribers/invalidateWidgetDataCache.ts +32 -0
  1158. package/src/modules/dashboards/widgets/dashboard/aov-kpi/widget.client.tsx +9 -3
  1159. package/src/modules/dashboards/widgets/dashboard/pipeline-summary/config.ts +86 -0
  1160. package/src/modules/dashboards/widgets/dashboard/pipeline-summary/widget.client.tsx +42 -21
  1161. package/src/modules/dashboards/widgets/dashboard/pipeline-summary/widget.ts +2 -2
  1162. package/src/modules/dashboards/widgets/dashboard/revenue-kpi/widget.client.tsx +9 -3
  1163. package/src/modules/dashboards/widgets/dashboard/revenue-trend/widget.client.tsx +7 -2
  1164. package/src/modules/dashboards/widgets/dashboard/sales-by-region/widget.client.tsx +25 -15
  1165. package/src/modules/dashboards/widgets/dashboard/top-customers/widget.client.tsx +21 -11
  1166. package/src/modules/dashboards/widgets/dashboard/top-products/widget.client.tsx +9 -3
  1167. package/src/modules/data_sync/AGENTS.md +1 -0
  1168. package/src/modules/data_sync/api/mappings/[id]/route.ts +22 -9
  1169. package/src/modules/data_sync/api/mappings/route.ts +13 -4
  1170. package/src/modules/data_sync/api/options.ts +7 -2
  1171. package/src/modules/data_sync/api/run.ts +7 -2
  1172. package/src/modules/data_sync/api/runs/[id]/cancel.ts +8 -3
  1173. package/src/modules/data_sync/api/runs/[id]/retry.ts +7 -2
  1174. package/src/modules/data_sync/api/runs/[id]/route.ts +8 -3
  1175. package/src/modules/data_sync/api/runs.ts +7 -2
  1176. package/src/modules/data_sync/api/schedules/[id]/route.ts +19 -6
  1177. package/src/modules/data_sync/api/schedules/route.ts +13 -4
  1178. package/src/modules/data_sync/api/validate.ts +9 -4
  1179. package/src/modules/data_sync/backend/data-sync/page.tsx +5 -4
  1180. package/src/modules/data_sync/components/IntegrationScheduleTab.tsx +5 -5
  1181. package/src/modules/data_sync/extension-points.ts +10 -0
  1182. package/src/modules/data_sync/i18n/ko.json +125 -0
  1183. package/src/modules/data_sync/lib/adapter.ts +18 -0
  1184. package/src/modules/data_sync/lib/queue-policy.ts +30 -0
  1185. package/src/modules/data_sync/lib/queue.ts +19 -1
  1186. package/src/modules/data_sync/lib/start-run.ts +2 -1
  1187. package/src/modules/data_sync/lib/sync-engine.ts +46 -0
  1188. package/src/modules/data_sync/lib/sync-run-service.ts +82 -1
  1189. package/src/modules/data_sync/workers/sync-export.ts +8 -1
  1190. package/src/modules/data_sync/workers/sync-import.ts +8 -1
  1191. package/src/modules/design_system/AGENTS.md +34 -0
  1192. package/src/modules/design_system/acl.ts +5 -0
  1193. package/src/modules/design_system/backend/design-system/page.meta.ts +11 -0
  1194. package/src/modules/design_system/backend/design-system/page.tsx +14 -0
  1195. package/src/modules/design_system/gallery/components/CodeSnippet.tsx +55 -0
  1196. package/src/modules/design_system/gallery/components/EntryCard.tsx +95 -0
  1197. package/src/modules/design_system/gallery/components/GalleryShell.tsx +206 -0
  1198. package/src/modules/design_system/gallery/components/VariantPreview.tsx +15 -0
  1199. package/src/modules/design_system/gallery/entries/banners.tsx +226 -0
  1200. package/src/modules/design_system/gallery/entries/buttons.tsx +422 -0
  1201. package/src/modules/design_system/gallery/entries/charts.tsx +518 -0
  1202. package/src/modules/design_system/gallery/entries/dates.tsx +325 -0
  1203. package/src/modules/design_system/gallery/entries/detail.tsx +403 -0
  1204. package/src/modules/design_system/gallery/entries/display.tsx +893 -0
  1205. package/src/modules/design_system/gallery/entries/feedback.tsx +746 -0
  1206. package/src/modules/design_system/gallery/entries/filters.tsx +570 -0
  1207. package/src/modules/design_system/gallery/entries/foundations.tsx +529 -0
  1208. package/src/modules/design_system/gallery/entries/icons.tsx +168 -0
  1209. package/src/modules/design_system/gallery/entries/inputs.tsx +1516 -0
  1210. package/src/modules/design_system/gallery/entries/messages.tsx +339 -0
  1211. package/src/modules/design_system/gallery/entries/navigation.tsx +573 -0
  1212. package/src/modules/design_system/gallery/entries/notifications.tsx +285 -0
  1213. package/src/modules/design_system/gallery/entries/overlays.tsx +677 -0
  1214. package/src/modules/design_system/gallery/entries/scaffolding.tsx +430 -0
  1215. package/src/modules/design_system/gallery/entries/schedule.tsx +307 -0
  1216. package/src/modules/design_system/gallery/registry.ts +152 -0
  1217. package/src/modules/design_system/gallery/types.ts +32 -0
  1218. package/src/modules/design_system/i18n/.hardcoded-allowlist.json +71 -0
  1219. package/src/modules/design_system/i18n/de.json +58 -0
  1220. package/src/modules/design_system/i18n/en.json +58 -0
  1221. package/src/modules/design_system/i18n/es.json +58 -0
  1222. package/src/modules/design_system/i18n/ko.json +58 -0
  1223. package/src/modules/design_system/i18n/pl.json +58 -0
  1224. package/src/modules/design_system/index.ts +7 -0
  1225. package/src/modules/design_system/setup.ts +12 -0
  1226. package/src/modules/dictionaries/api/[dictionaryId]/entries/route.ts +39 -11
  1227. package/src/modules/dictionaries/api/openapi.ts +19 -0
  1228. package/src/modules/dictionaries/components/DictionaryEntrySelect.tsx +1 -1
  1229. package/src/modules/dictionaries/components/hooks/useDictionaryEntries.ts +35 -36
  1230. package/src/modules/dictionaries/data/validators.ts +14 -0
  1231. package/src/modules/dictionaries/i18n/ko.json +130 -0
  1232. package/src/modules/dictionaries/lib/clientEntries.ts +4 -3
  1233. package/src/modules/dictionaries/lib/fetchAllEntries.ts +72 -0
  1234. package/src/modules/directory/api/organization-branding/route.ts +12 -1
  1235. package/src/modules/directory/api/organization-switcher/route.ts +97 -26
  1236. package/src/modules/directory/api/organizations/route.ts +7 -0
  1237. package/src/modules/directory/api/tenants/route.ts +9 -1
  1238. package/src/modules/directory/backend/directory/branding/page.tsx +34 -9
  1239. package/src/modules/directory/backend/directory/organizations/[id]/edit/page.tsx +10 -14
  1240. package/src/modules/directory/backend/directory/organizations/page.tsx +2 -1
  1241. package/src/modules/directory/backend/directory/tenants/page.tsx +2 -1
  1242. package/src/modules/directory/commands/organizations.ts +9 -1
  1243. package/src/modules/directory/commands/tenants.ts +6 -0
  1244. package/src/modules/directory/data/entities.ts +3 -0
  1245. package/src/modules/directory/data/validators.ts +2 -0
  1246. package/src/modules/directory/extension-points.ts +11 -0
  1247. package/src/modules/directory/i18n/de.json +4 -1
  1248. package/src/modules/directory/i18n/en.json +4 -1
  1249. package/src/modules/directory/i18n/es.json +4 -1
  1250. package/src/modules/directory/i18n/ko.json +105 -0
  1251. package/src/modules/directory/i18n/pl.json +4 -1
  1252. package/src/modules/directory/migrations/.snapshot-open-mercato.json +18 -1
  1253. package/src/modules/directory/migrations/Migration20260626145500_directory_logo_preserve_aspect_ratio.ts +13 -0
  1254. package/src/modules/directory/subscribers/invalidateOrgScopeCache.ts +4 -1
  1255. package/src/modules/directory/utils/organizationScope.ts +9 -3
  1256. package/src/modules/entities/api/definitions.ts +55 -3
  1257. package/src/modules/entities/api/entities.ts +30 -2
  1258. package/src/modules/entities/api/entity-settings.ts +66 -22
  1259. package/src/modules/entities/api/records.ts +15 -31
  1260. package/src/modules/entities/api/sidebar-entities.ts +43 -14
  1261. package/src/modules/entities/backend/config/settings/page.meta.ts +34 -0
  1262. package/src/modules/entities/backend/config/settings/page.tsx +12 -0
  1263. package/src/modules/entities/backend/entities/user/[entityId]/page.tsx +1 -1
  1264. package/src/modules/entities/backend/entities/user/[entityId]/records/page.tsx +96 -75
  1265. package/src/modules/entities/backend/entities/user/create/page.tsx +16 -7
  1266. package/src/modules/entities/cli.ts +238 -21
  1267. package/src/modules/entities/components/EntitySettingsManager.tsx +160 -0
  1268. package/src/modules/entities/components/RecordListRelationCell.tsx +90 -0
  1269. package/src/modules/entities/components/SystemEntitiesTable.tsx +2 -1
  1270. package/src/modules/entities/components/UserEntitiesTable.tsx +2 -1
  1271. package/src/modules/entities/components/recordListRelationDisplays.ts +109 -0
  1272. package/src/modules/entities/extension-points.ts +18 -0
  1273. package/src/modules/entities/i18n/de.json +9 -0
  1274. package/src/modules/entities/i18n/en.json +9 -0
  1275. package/src/modules/entities/i18n/es.json +9 -0
  1276. package/src/modules/entities/i18n/ko.json +260 -0
  1277. package/src/modules/entities/i18n/pl.json +9 -0
  1278. package/src/modules/entities/lib/entityAcl.ts +98 -11
  1279. package/src/modules/feature_toggles/components/FeatureGuard.tsx +9 -2
  1280. package/src/modules/feature_toggles/components/FeatureToggleOverrideCard.tsx +1 -1
  1281. package/src/modules/feature_toggles/components/hooks/staleTime.ts +5 -0
  1282. package/src/modules/feature_toggles/components/hooks/useFeatureFlagBoolean.ts +13 -1
  1283. package/src/modules/feature_toggles/components/hooks/useFeatureFlagJson.ts +12 -3
  1284. package/src/modules/feature_toggles/components/hooks/useFeatureFlagNumber.ts +10 -1
  1285. package/src/modules/feature_toggles/components/hooks/useFeatureFlagString.ts +10 -1
  1286. package/src/modules/feature_toggles/i18n/ko.json +96 -0
  1287. package/src/modules/inbox_ops/ai-tools.ts +5 -3
  1288. package/src/modules/inbox_ops/api/proposals/[id]/actions/[actionId]/route.ts +17 -1
  1289. package/src/modules/inbox_ops/api/proposals/route.ts +20 -1
  1290. package/src/modules/inbox_ops/api/webhook/inbound.ts +14 -12
  1291. package/src/modules/inbox_ops/backend/inbox-ops/log/page.tsx +6 -6
  1292. package/src/modules/inbox_ops/components/proposals/EditActionDialog.tsx +24 -19
  1293. package/src/modules/inbox_ops/components/proposals/types.ts +1 -0
  1294. package/src/modules/inbox_ops/i18n/de.json +3 -0
  1295. package/src/modules/inbox_ops/i18n/en.json +3 -0
  1296. package/src/modules/inbox_ops/i18n/es.json +3 -0
  1297. package/src/modules/inbox_ops/i18n/ko.json +196 -0
  1298. package/src/modules/inbox_ops/i18n/pl.json +3 -0
  1299. package/src/modules/inbox_ops/search.ts +20 -4
  1300. package/src/modules/inbox_ops/subscribers/search-reindex-proposal-created.ts +39 -0
  1301. package/src/modules/integrations/api/[id]/credentials/route.ts +11 -5
  1302. package/src/modules/integrations/api/[id]/health/route.ts +6 -3
  1303. package/src/modules/integrations/api/[id]/route.ts +6 -3
  1304. package/src/modules/integrations/api/[id]/state/route.ts +6 -3
  1305. package/src/modules/integrations/api/[id]/version/route.ts +6 -3
  1306. package/src/modules/integrations/api/logs/route.ts +6 -3
  1307. package/src/modules/integrations/api/route.ts +6 -3
  1308. package/src/modules/integrations/api/umes-read.ts +2 -2
  1309. package/src/modules/integrations/backend/integrations/[id]/page.tsx +2 -2
  1310. package/src/modules/integrations/extension-points.ts +27 -0
  1311. package/src/modules/integrations/i18n/ko.json +129 -0
  1312. package/src/modules/integrations/lib/organization-scope.ts +5 -25
  1313. package/src/modules/integrations/widgets/injection/external-ids/widget.client.tsx +0 -5
  1314. package/src/modules/integrations/widgets/injection/external-ids/widget.ts +13 -0
  1315. package/src/modules/messages/api/[id]/route.ts +21 -0
  1316. package/src/modules/messages/api/route.ts +109 -9
  1317. package/src/modules/messages/components/ComposeMessagePageClient.tsx +2 -1
  1318. package/src/modules/messages/components/MessageDetailPageClient.tsx +3 -2
  1319. package/src/modules/messages/components/MessagesInboxPageClient.tsx +2 -1
  1320. package/src/modules/messages/components/message-detail/panels/dialogs.tsx +1 -1
  1321. package/src/modules/messages/extension-points.ts +13 -0
  1322. package/src/modules/messages/i18n/de.json +2 -0
  1323. package/src/modules/messages/i18n/en.json +2 -0
  1324. package/src/modules/messages/i18n/es.json +2 -0
  1325. package/src/modules/messages/i18n/ko.json +263 -0
  1326. package/src/modules/messages/i18n/pl.json +2 -0
  1327. package/src/modules/messages/lib/participantScope.ts +64 -0
  1328. package/src/modules/messages/lib/routeHelpers.ts +4 -6
  1329. package/src/modules/messages/lib/searchLookup.ts +11 -34
  1330. package/src/modules/messages/search.ts +11 -5
  1331. package/src/modules/notifications/api/route.ts +123 -3
  1332. package/src/modules/notifications/api/unread-count/route.ts +42 -5
  1333. package/src/modules/notifications/di.ts +1 -1
  1334. package/src/modules/notifications/events.ts +2 -0
  1335. package/src/modules/notifications/i18n/ko.json +55 -0
  1336. package/src/modules/notifications/lib/notificationRecipients.ts +6 -8
  1337. package/src/modules/notifications/lib/notificationScope.ts +40 -0
  1338. package/src/modules/notifications/lib/notificationService.ts +63 -1
  1339. package/src/modules/notifications/lib/routeHelpers.ts +19 -2
  1340. package/src/modules/payment_gateways/api/capture/route.ts +1 -1
  1341. package/src/modules/payment_gateways/api/sessions/route.ts +6 -3
  1342. package/src/modules/payment_gateways/api/webhook/[provider]/route.ts +13 -1
  1343. package/src/modules/payment_gateways/backend/payment-gateways/page.tsx +3 -2
  1344. package/src/modules/payment_gateways/data/entities.ts +13 -2
  1345. package/src/modules/payment_gateways/di.ts +28 -2
  1346. package/src/modules/payment_gateways/extension-points.ts +16 -0
  1347. package/src/modules/payment_gateways/i18n/de.json +8 -1
  1348. package/src/modules/payment_gateways/i18n/en.json +8 -1
  1349. package/src/modules/payment_gateways/i18n/es.json +8 -1
  1350. package/src/modules/payment_gateways/i18n/ko.json +87 -0
  1351. package/src/modules/payment_gateways/i18n/pl.json +8 -1
  1352. package/src/modules/payment_gateways/lib/capture-ledger.ts +260 -0
  1353. package/src/modules/payment_gateways/lib/gateway-service.ts +114 -18
  1354. package/src/modules/payment_gateways/lib/order-amount-reconciliation.ts +93 -0
  1355. package/src/modules/payment_gateways/lib/payment-operation-idempotency.ts +1 -0
  1356. package/src/modules/payment_gateways/lib/session-idempotency.ts +36 -0
  1357. package/src/modules/payment_gateways/migrations/.snapshot-open-mercato.json +44 -1
  1358. package/src/modules/payment_gateways/migrations/Migration20260725101500_payment_gateways.ts +21 -0
  1359. package/src/modules/payment_gateways/migrations/Migration20260803103035_payment_gateways.ts +17 -0
  1360. package/src/modules/payment_gateways/setup.ts +62 -0
  1361. package/src/modules/payment_gateways/workers/session-initialization-prune.ts +63 -0
  1362. package/src/modules/planner/components/AvailabilityRulesEditor.tsx +4 -4
  1363. package/src/modules/planner/components/unavailabilityReasons.ts +3 -3
  1364. package/src/modules/planner/i18n/ko.json +565 -0
  1365. package/src/modules/portal/extension-points.ts +30 -0
  1366. package/src/modules/portal/frontend/[orgSlug]/portal/dashboard/page.tsx +3 -3
  1367. package/src/modules/portal/frontend/[orgSlug]/portal/invite/page.meta.ts +9 -0
  1368. package/src/modules/portal/frontend/[orgSlug]/portal/invite/page.tsx +164 -0
  1369. package/src/modules/portal/frontend/[orgSlug]/portal/login/page.tsx +4 -4
  1370. package/src/modules/portal/frontend/[orgSlug]/portal/page.tsx +3 -3
  1371. package/src/modules/portal/frontend/[orgSlug]/portal/profile/page.tsx +3 -3
  1372. package/src/modules/portal/frontend/[orgSlug]/portal/reset-password/page.tsx +5 -5
  1373. package/src/modules/portal/frontend/[orgSlug]/portal/signup/page.tsx +4 -4
  1374. package/src/modules/portal/frontend/[orgSlug]/portal/verify/page.tsx +1 -1
  1375. package/src/modules/portal/i18n/de.json +18 -0
  1376. package/src/modules/portal/i18n/en.json +18 -0
  1377. package/src/modules/portal/i18n/es.json +18 -0
  1378. package/src/modules/portal/i18n/ko.json +143 -0
  1379. package/src/modules/portal/i18n/pl.json +18 -0
  1380. package/src/modules/portal/lib/navigation.ts +3 -0
  1381. package/src/modules/progress/AGENTS.md +11 -1
  1382. package/src/modules/progress/i18n/ko.json +20 -0
  1383. package/src/modules/progress/lib/progressService.ts +1 -0
  1384. package/src/modules/progress/lib/progressServiceImpl.ts +385 -117
  1385. package/src/modules/query_index/api/openapi.ts +12 -0
  1386. package/src/modules/query_index/api/reindex.ts +15 -0
  1387. package/src/modules/query_index/api/status.ts +238 -136
  1388. package/src/modules/query_index/cli.ts +180 -1
  1389. package/src/modules/query_index/components/QueryIndexesTable.tsx +194 -47
  1390. package/src/modules/query_index/data/entities.ts +7 -0
  1391. package/src/modules/query_index/di.ts +6 -0
  1392. package/src/modules/query_index/events.ts +17 -0
  1393. package/src/modules/query_index/extension-points.ts +10 -0
  1394. package/src/modules/query_index/i18n/de.json +5 -3
  1395. package/src/modules/query_index/i18n/en.json +5 -3
  1396. package/src/modules/query_index/i18n/es.json +5 -3
  1397. package/src/modules/query_index/i18n/ko.json +69 -0
  1398. package/src/modules/query_index/i18n/pl.json +5 -3
  1399. package/src/modules/query_index/lib/batch.ts +11 -4
  1400. package/src/modules/query_index/lib/coverage.ts +47 -14
  1401. package/src/modules/query_index/lib/document.ts +35 -4
  1402. package/src/modules/query_index/lib/engine.ts +136 -59
  1403. package/src/modules/query_index/lib/indexer.ts +130 -21
  1404. package/src/modules/query_index/lib/reindexer.ts +62 -40
  1405. package/src/modules/query_index/lib/search-tokens.ts +48 -16
  1406. package/src/modules/query_index/lib/subscriber-scope.ts +2 -7
  1407. package/src/modules/query_index/migrations/.snapshot-open-mercato.json +12 -0
  1408. package/src/modules/query_index/migrations/Migration20260731105052_query_index.ts +35 -0
  1409. package/src/modules/query_index/subscribers/coverage_refresh.ts +4 -0
  1410. package/src/modules/query_index/subscribers/delete_one.ts +65 -1
  1411. package/src/modules/query_index/subscribers/upsert_one.ts +68 -1
  1412. package/src/modules/resources/api/resources.ts +2 -0
  1413. package/src/modules/resources/backend/resources/resource-types/page.tsx +2 -1
  1414. package/src/modules/resources/backend/resources/resources/[id]/page.tsx +9 -3
  1415. package/src/modules/resources/backend/resources/resources/page.tsx +2 -1
  1416. package/src/modules/resources/commands/resources.ts +10 -0
  1417. package/src/modules/resources/components/detail/dictionaries.ts +3 -3
  1418. package/src/modules/resources/data/entities.ts +3 -0
  1419. package/src/modules/resources/data/validators.ts +5 -0
  1420. package/src/modules/resources/extension-points.ts +11 -0
  1421. package/src/modules/resources/i18n/ko.json +770 -0
  1422. package/src/modules/resources/lib/seeds.ts +16 -9
  1423. package/src/modules/resources/migrations/.snapshot-open-mercato.json +17 -1
  1424. package/src/modules/resources/migrations/Migration20260608231000.ts +13 -0
  1425. package/src/modules/sales/analytics.ts +4 -0
  1426. package/src/modules/sales/api/document-history/route.ts +1 -0
  1427. package/src/modules/sales/api/documents/factory.ts +28 -3
  1428. package/src/modules/sales/backend/sales/documents/[id]/page.tsx +11 -3
  1429. package/src/modules/sales/backend/sales/documents/create/page.tsx +2 -4
  1430. package/src/modules/sales/commands/documents.ts +298 -31
  1431. package/src/modules/sales/components/documents/ItemsSection.tsx +34 -11
  1432. package/src/modules/sales/components/documents/LineItemDialog.tsx +13 -5
  1433. package/src/modules/sales/components/documents/SalesDocumentForm.tsx +48 -6
  1434. package/src/modules/sales/components/documents/SalesDocumentsTable.tsx +6 -1
  1435. package/src/modules/sales/components/documents/SalesOrderDraftLines.tsx +198 -0
  1436. package/src/modules/sales/components/documents/lineItemTypes.ts +1 -0
  1437. package/src/modules/sales/components/useSalesChannelsEnabled.ts +2 -48
  1438. package/src/modules/sales/data/validators.ts +59 -6
  1439. package/src/modules/sales/di.ts +9 -0
  1440. package/src/modules/sales/events.ts +1 -0
  1441. package/src/modules/sales/extension-points.ts +33 -0
  1442. package/src/modules/sales/i18n/de.json +22 -0
  1443. package/src/modules/sales/i18n/en.json +22 -0
  1444. package/src/modules/sales/i18n/es.json +22 -0
  1445. package/src/modules/sales/i18n/ko.json +1442 -0
  1446. package/src/modules/sales/i18n/pl.json +22 -0
  1447. package/src/modules/sales/lib/historyHelpers.ts +88 -1
  1448. package/src/modules/sales/services/paymentOrderTotalResolver.ts +67 -0
  1449. package/src/modules/sales/widgets/injection/document-history/widget.client.tsx +64 -3
  1450. package/src/modules/sales/workflows.ts +10 -7
  1451. package/src/modules/shipping_carriers/api/webhook/[provider]/route.ts +11 -1
  1452. package/src/modules/shipping_carriers/i18n/ko.json +85 -0
  1453. package/src/modules/shipping_carriers/lib/shipment-wizard/components/PackageEditor.tsx +1 -1
  1454. package/src/modules/staff/api/interceptors.ts +6 -4
  1455. package/src/modules/staff/api/leave-requests.ts +54 -47
  1456. package/src/modules/staff/components/detail/dictionaries.ts +3 -3
  1457. package/src/modules/staff/i18n/ko.json +1162 -0
  1458. package/src/modules/sync_excel/api/upload/route.ts +15 -2
  1459. package/src/modules/sync_excel/i18n/ko.json +107 -0
  1460. package/src/modules/sync_excel/widgets/injection/upload-config/widget.client.tsx +1 -1
  1461. package/src/modules/translations/i18n/ko.json +45 -0
  1462. package/src/modules/wms/components/backend/ReleaseReservationDialog.tsx +1 -1
  1463. package/src/modules/wms/components/backend/WmsConfigurationPage.tsx +5 -4
  1464. package/src/modules/wms/components/backend/WmsInventoryConsolePage.tsx +4 -3
  1465. package/src/modules/wms/components/backend/WmsLocationDetailPage.tsx +3 -2
  1466. package/src/modules/wms/components/backend/WmsLotDetailPage.tsx +3 -2
  1467. package/src/modules/wms/components/backend/WmsLotsListPage.tsx +2 -1
  1468. package/src/modules/wms/components/backend/WmsSkuDetailPage.tsx +3 -2
  1469. package/src/modules/wms/extension-points.ts +23 -0
  1470. package/src/modules/wms/i18n/de.json +2 -0
  1471. package/src/modules/wms/i18n/en.json +2 -0
  1472. package/src/modules/wms/i18n/es.json +2 -0
  1473. package/src/modules/wms/i18n/ko.json +1053 -0
  1474. package/src/modules/wms/i18n/pl.json +2 -0
  1475. package/src/modules/workflows/backend/definitions/[id]/page.tsx +2 -2
  1476. package/src/modules/workflows/backend/definitions/create/page.tsx +1 -1
  1477. package/src/modules/workflows/backend/definitions/page.tsx +3 -2
  1478. package/src/modules/workflows/backend/definitions/visual-editor/page.tsx +16 -7
  1479. package/src/modules/workflows/backend/instances/page.tsx +10 -9
  1480. package/src/modules/workflows/backend/tasks/page.tsx +8 -7
  1481. package/src/modules/workflows/components/ActivitiesEditor.tsx +98 -14
  1482. package/src/modules/workflows/components/BusinessRulesSelector.tsx +1 -1
  1483. package/src/modules/workflows/components/DefinitionTriggersEditor.tsx +3 -3
  1484. package/src/modules/workflows/components/EdgeEditDialogCrudForm.tsx +1 -2
  1485. package/src/modules/workflows/components/NodeEditDialog.tsx +3 -3
  1486. package/src/modules/workflows/components/NodeEditDialogCrudForm.tsx +4 -5
  1487. package/src/modules/workflows/components/StepsEditor.tsx +2 -2
  1488. package/src/modules/workflows/components/TransitionsEditor.tsx +78 -20
  1489. package/src/modules/workflows/components/WorkflowGraphImpl.tsx +1 -1
  1490. package/src/modules/workflows/components/WorkflowLegend.tsx +1 -1
  1491. package/src/modules/workflows/components/WorkflowSelector.tsx +1 -1
  1492. package/src/modules/workflows/components/fields/BusinessRuleConditionsEditor.tsx +1 -1
  1493. package/src/modules/workflows/components/fields/FormFieldArrayEditor.tsx +2 -2
  1494. package/src/modules/workflows/components/fields/MappingArrayEditor.tsx +1 -1
  1495. package/src/modules/workflows/components/fields/StartPreConditionsEditor.tsx +1 -1
  1496. package/src/modules/workflows/components/fields/WorkflowSelectorField.tsx +4 -4
  1497. package/src/modules/workflows/data/validators.ts +52 -1
  1498. package/src/modules/workflows/events.ts +1 -0
  1499. package/src/modules/workflows/extension-points.ts +12 -0
  1500. package/src/modules/workflows/i18n/de.json +3 -0
  1501. package/src/modules/workflows/i18n/en.json +3 -0
  1502. package/src/modules/workflows/i18n/es.json +3 -0
  1503. package/src/modules/workflows/i18n/ko.json +1204 -0
  1504. package/src/modules/workflows/i18n/pl.json +3 -0
  1505. package/src/modules/workflows/lib/activity-executor.ts +99 -20
  1506. package/src/modules/workflows/lib/format-validation-error.ts +60 -0
  1507. package/src/modules/workflows/widgets/injection/order-approval/context-keys.ts +18 -0
  1508. package/src/modules/workflows/widgets/injection/order-approval/widget.client.tsx +27 -11
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/modules/design_system/gallery/entries/filters.tsx"],
4
+ "sourcesContent": ["import * as React from 'react'\nimport { Download } from 'lucide-react'\nimport { Button } from '@open-mercato/ui/primitives/button'\nimport {\n FilterBar,\n type FilterDef,\n type FilterValues,\n} from '@open-mercato/ui/backend/FilterBar'\nimport { QuickFilters, type FilterPreset } from '@open-mercato/ui/backend/filters/QuickFilters'\nimport { ActiveFilterChips } from '@open-mercato/ui/backend/filters/ActiveFilterChips'\nimport { AdvancedFilterBuilder } from '@open-mercato/ui/backend/filters/AdvancedFilterBuilder'\nimport { FilterEmptyState } from '@open-mercato/ui/backend/filters/FilterEmptyState'\nimport { ListEmptyState } from '@open-mercato/ui/backend/filters/ListEmptyState'\nimport { FilteredEmptyResults } from '@open-mercato/ui/backend/filters/FilteredEmptyResults'\nimport { SearchEmptyResults } from '@open-mercato/ui/backend/filters/SearchEmptyResults'\nimport type { FilterFieldDef } from '@open-mercato/shared/lib/query/advanced-filter'\nimport type {\n AdvancedFilterTree,\n FilterGroup,\n FilterRule,\n} from '@open-mercato/shared/lib/query/advanced-filter-tree'\nimport type { GalleryEntry } from '../types'\n\n// Component titles and variant names are proper nouns from the codebase and\n// are deliberately not translated. `code` MUST contain the entry's importPath\n// (enforced by the registry-integrity test) and is always reviewed alongside\n// its sibling `render`.\n//\n// AdvancedFilterPanel itself is not showcased: it is a popover host that\n// orchestrates open/anchor state and saved-filter persistence. Its\n// presentational subcomponents (AdvancedFilterBuilder, QuickFilters,\n// FilterEmptyState) are shown standalone below with variant titles noting it.\n\n// ---------------------------------------------------------------------------\n// Inline demo data \u2014 no API calls. Field defs and trees mirror what CRM list\n// pages pass to the advanced filter stack.\n// ---------------------------------------------------------------------------\n\nconst demoFilterDefs: FilterDef[] = [\n { id: 'city', label: 'City', type: 'text', placeholder: 'e.g. Berlin' },\n {\n id: 'status',\n label: 'Status',\n type: 'select',\n options: [\n { value: 'active', label: 'Active' },\n { value: 'prospect', label: 'Prospect' },\n { value: 'churned', label: 'Churned' },\n ],\n },\n { id: 'hasOpenDeals', label: 'Has open deals', type: 'checkbox' },\n]\n\nconst demoFields: FilterFieldDef[] = [\n { key: 'name', label: 'Name', type: 'text' },\n { key: 'email', label: 'Email', type: 'text' },\n {\n key: 'status',\n label: 'Status',\n type: 'select',\n options: [\n { value: 'active', label: 'Active', tone: 'success' },\n { value: 'prospect', label: 'Prospect', tone: 'info' },\n { value: 'churned', label: 'Churned', tone: 'error' },\n ],\n },\n { key: 'employees', label: 'Employees', type: 'number' },\n]\n\nfunction rule(id: string, field: string, operator: FilterRule['operator'], value: unknown): FilterRule {\n return { id, type: 'rule', field, operator, value }\n}\n\nfunction tree(children: FilterGroup['children']): AdvancedFilterTree {\n return { root: { id: 'root', type: 'group', combinator: 'and', children } }\n}\n\nconst ruleChipsTree = tree([\n rule('r1', 'name', 'contains', 'north'),\n rule('r2', 'status', 'is', 'active'),\n rule('r3', 'employees', 'between', [10, 50]),\n])\n\nconst groupChipTree = tree([\n {\n id: 'g1',\n type: 'group',\n combinator: 'or',\n children: [\n rule('g1r1', 'status', 'is', 'prospect'),\n rule('g1r2', 'status', 'is', 'churned'),\n ],\n },\n])\n\nconst valuelessChipTree = tree([rule('r4', 'email', 'is_empty', null)])\n\nconst builderSingleRuleTree = tree([rule('b1', 'status', 'is', 'active')])\n\nconst builderNestedTree = tree([\n rule('b2', 'name', 'contains', 'north'),\n {\n id: 'bg1',\n type: 'group',\n combinator: 'or',\n children: [\n rule('bg1r1', 'status', 'is', 'prospect'),\n rule('bg1r2', 'employees', 'greater_than', 100),\n ],\n },\n])\n\nconst demoPresets: FilterPreset[] = [\n {\n id: 'active-accounts',\n labelKey: 'Active accounts',\n iconName: 'filter',\n build: () => tree([rule('p1', 'status', 'is', 'active')]),\n },\n {\n id: 'added-this-week',\n labelKey: 'Added this week',\n iconName: 'clock',\n build: () => tree([rule('p2', 'name', 'is_not_empty', null)]),\n },\n]\n\nconst userScopedPresets: FilterPreset[] = [\n ...demoPresets,\n {\n id: 'my-accounts',\n labelKey: 'My accounts',\n requiresUser: true,\n build: ({ userId }) => tree([rule('p3', 'name', 'contains', userId)]),\n },\n]\n\n// ---------------------------------------------------------------------------\n// Demo wrappers \u2014 controlled components need local state to be interactive in\n// the gallery. The `code` snippets show the essential consumer usage, not\n// these wrappers.\n// ---------------------------------------------------------------------------\n\nfunction DemoFilterBar({\n layout,\n trailingItems,\n}: {\n layout?: 'stacked' | 'inline'\n trailingItems?: React.ReactNode\n}) {\n const [search, setSearch] = React.useState('')\n const [values, setValues] = React.useState<FilterValues>({ status: 'active' })\n return (\n <div className=\"w-full max-w-2xl\">\n <FilterBar\n searchValue={search}\n onSearchChange={setSearch}\n filters={demoFilterDefs}\n values={values}\n onApply={setValues}\n onClear={() => setValues({})}\n layout={layout}\n trailingItems={trailingItems}\n />\n </div>\n )\n}\n\nfunction DemoActiveFilterChips({ initialTree }: { initialTree: AdvancedFilterTree }) {\n const [value, setValue] = React.useState(initialTree)\n const removeNode = (id: string) =>\n setValue((prev) => ({\n root: { ...prev.root, children: prev.root.children.filter((child) => child.id !== id) },\n }))\n return (\n <div className=\"w-full max-w-2xl\">\n <ActiveFilterChips\n tree={value}\n fields={demoFields}\n popoverOpen={false}\n onRemoveNode={removeNode}\n onOpen={() => {}}\n />\n </div>\n )\n}\n\nfunction DemoAdvancedFilterBuilder({ initialTree }: { initialTree: AdvancedFilterTree }) {\n const [value, setValue] = React.useState(initialTree)\n return (\n <div className=\"w-full max-w-2xl rounded-lg border bg-popover p-3\">\n <AdvancedFilterBuilder\n fields={demoFields}\n value={value}\n onChange={setValue}\n onApply={() => {}}\n onClear={() => setValue(tree([]))}\n />\n </div>\n )\n}\n\nfunction DemoFilterEmptyState({ withQuickFilters }: { withQuickFilters?: boolean }) {\n const addConditionRef = React.useRef<HTMLButtonElement | null>(null)\n return (\n <div className=\"w-full max-w-xl rounded-lg border bg-popover\">\n <FilterEmptyState\n onAddCondition={() => {}}\n addConditionRef={addConditionRef}\n quickFilters={\n withQuickFilters ? (\n <QuickFilters presets={demoPresets} userId=\"user-1\" onApply={() => {}} />\n ) : undefined\n }\n />\n </div>\n )\n}\n\nconst filterBarEntry: GalleryEntry = {\n id: 'filter-bar',\n title: 'FilterBar',\n importPath: '@open-mercato/ui/backend/FilterBar',\n variants: [\n {\n id: 'stacked',\n title: 'Stacked (default)',\n render: () => <DemoFilterBar />,\n code: `import { FilterBar, type FilterDef, type FilterValues } from '@open-mercato/ui/backend/FilterBar'\n\nconst filters: FilterDef[] = [\n { id: 'city', label: 'City', type: 'text' },\n { id: 'status', label: 'Status', type: 'select', options: statusOptions },\n { id: 'hasOpenDeals', label: 'Has open deals', type: 'checkbox' },\n]\n\n<FilterBar\n searchValue={search}\n onSearchChange={setSearch}\n filters={filters}\n values={values}\n onApply={setValues}\n onClear={() => setValues({})}\n/>`,\n },\n {\n id: 'inline',\n title: 'Inline layout',\n render: () => <DemoFilterBar layout=\"inline\" />,\n code: `import { FilterBar } from '@open-mercato/ui/backend/FilterBar'\n\n<FilterBar\n searchValue={search}\n onSearchChange={setSearch}\n filters={filters}\n values={values}\n onApply={setValues}\n layout=\"inline\"\n/>`,\n },\n {\n id: 'trailing-items',\n title: 'With trailing items',\n render: () => (\n <DemoFilterBar\n trailingItems={\n <Button variant=\"outline\" size=\"sm\">\n <Download />\n Export\n </Button>\n }\n />\n ),\n code: `import { Download } from 'lucide-react'\nimport { FilterBar } from '@open-mercato/ui/backend/FilterBar'\nimport { Button } from '@open-mercato/ui/primitives/button'\n\n<FilterBar\n searchValue={search}\n onSearchChange={setSearch}\n filters={filters}\n values={values}\n onApply={setValues}\n trailingItems={<Button variant=\"outline\" size=\"sm\"><Download />Export</Button>}\n/>`,\n },\n ],\n}\n\nconst quickFiltersEntry: GalleryEntry = {\n id: 'quick-filters',\n title: 'QuickFilters',\n importPath: '@open-mercato/ui/backend/filters/QuickFilters',\n variants: [\n {\n id: 'presets',\n title: 'Presets (used inside AdvancedFilterPanel)',\n render: () => (\n <div className=\"w-full max-w-xl\">\n <QuickFilters presets={demoPresets} userId=\"user-1\" onApply={() => {}} />\n </div>\n ),\n code: `import { QuickFilters, type FilterPreset } from '@open-mercato/ui/backend/filters/QuickFilters'\n\nconst presets: FilterPreset[] = [\n { id: 'active-accounts', labelKey: 'customers.filters.activeAccounts', iconName: 'filter', build: () => activeTree },\n { id: 'added-this-week', labelKey: 'customers.filters.addedThisWeek', iconName: 'clock', build: () => recentTree },\n]\n\n<QuickFilters presets={presets} userId={userId} onApply={(tree, preset) => applyTree(tree)} />`,\n },\n {\n id: 'user-scoped',\n title: 'User-scoped preset (hidden without userId)',\n render: () => (\n <div className=\"flex w-full max-w-xl flex-col gap-6\">\n <QuickFilters presets={userScopedPresets} userId=\"user-1\" onApply={() => {}} />\n <QuickFilters presets={userScopedPresets} userId=\"\" onApply={() => {}} />\n </div>\n ),\n code: `import { QuickFilters } from '@open-mercato/ui/backend/filters/QuickFilters'\n\n// Presets with requiresUser: true are hidden when userId is empty.\n<QuickFilters presets={presets} userId={userId} onApply={applyTree} />`,\n },\n ],\n}\n\nconst activeFilterChipsEntry: GalleryEntry = {\n id: 'active-filter-chips',\n title: 'ActiveFilterChips',\n importPath: '@open-mercato/ui/backend/filters/ActiveFilterChips',\n variants: [\n {\n id: 'rule-chips',\n title: 'Rule chips (text, toned select, range)',\n render: () => <DemoActiveFilterChips initialTree={ruleChipsTree} />,\n code: `import { ActiveFilterChips } from '@open-mercato/ui/backend/filters/ActiveFilterChips'\n\n<ActiveFilterChips\n tree={tree}\n fields={fields}\n popoverOpen={panelOpen}\n onRemoveNode={(id) => dispatch({ type: 'removeNode', id })}\n onOpen={(focusNodeId) => setPanelOpen(true)}\n/>`,\n },\n {\n id: 'group-chip',\n title: 'Group chip (first rule +N)',\n render: () => <DemoActiveFilterChips initialTree={groupChipTree} />,\n code: `import { ActiveFilterChips } from '@open-mercato/ui/backend/filters/ActiveFilterChips'\n\n// An OR group renders as a single chip: \"Status: Prospect +1\".\n<ActiveFilterChips tree={tree} fields={fields} popoverOpen={false} onRemoveNode={removeNode} onOpen={openPanel} />`,\n },\n {\n id: 'valueless-operator',\n title: 'Valueless operator chip',\n render: () => <DemoActiveFilterChips initialTree={valuelessChipTree} />,\n code: `import { ActiveFilterChips } from '@open-mercato/ui/backend/filters/ActiveFilterChips'\n\n// Valueless operators read as a phrase: \"Email is empty\".\n<ActiveFilterChips tree={tree} fields={fields} popoverOpen={false} onRemoveNode={removeNode} onOpen={openPanel} />`,\n },\n ],\n}\n\nconst advancedFilterBuilderEntry: GalleryEntry = {\n id: 'advanced-filter-builder',\n title: 'AdvancedFilterBuilder',\n importPath: '@open-mercato/ui/backend/filters/AdvancedFilterBuilder',\n variants: [\n {\n id: 'single-rule',\n title: 'Single rule (presentational core of AdvancedFilterPanel)',\n render: () => <DemoAdvancedFilterBuilder initialTree={builderSingleRuleTree} />,\n code: `import { AdvancedFilterBuilder } from '@open-mercato/ui/backend/filters/AdvancedFilterBuilder'\n\n<AdvancedFilterBuilder\n fields={fields}\n value={tree}\n onChange={setTree}\n onApply={applyFilters}\n onClear={clearFilters}\n/>`,\n },\n {\n id: 'nested-group',\n title: 'Rule with nested OR group',\n render: () => <DemoAdvancedFilterBuilder initialTree={builderNestedTree} />,\n code: `import { AdvancedFilterBuilder } from '@open-mercato/ui/backend/filters/AdvancedFilterBuilder'\n\n// Groups nest up to 3 levels; the value is a plain AdvancedFilterTree.\n<AdvancedFilterBuilder fields={fields} value={tree} onChange={setTree} onApply={applyFilters} onClear={clearFilters} />`,\n },\n ],\n}\n\nconst filterEmptyStateEntry: GalleryEntry = {\n id: 'filter-empty-state',\n title: 'FilterEmptyState',\n importPath: '@open-mercato/ui/backend/filters/FilterEmptyState',\n variants: [\n {\n id: 'default',\n title: 'Default (panel empty state of AdvancedFilterPanel)',\n render: () => <DemoFilterEmptyState />,\n code: `import { FilterEmptyState } from '@open-mercato/ui/backend/filters/FilterEmptyState'\n\n<FilterEmptyState onAddCondition={openFieldPicker} addConditionRef={addConditionRef} />`,\n },\n {\n id: 'with-quick-filters',\n title: 'With quick filters slot',\n render: () => <DemoFilterEmptyState withQuickFilters />,\n code: `import { FilterEmptyState } from '@open-mercato/ui/backend/filters/FilterEmptyState'\nimport { QuickFilters } from '@open-mercato/ui/backend/filters/QuickFilters'\n\n<FilterEmptyState\n onAddCondition={openFieldPicker}\n addConditionRef={addConditionRef}\n quickFilters={<QuickFilters presets={presets} userId={userId} onApply={applyTree} />}\n/>`,\n },\n ],\n}\n\nconst listEmptyStateEntry: GalleryEntry = {\n id: 'list-empty-state',\n title: 'ListEmptyState',\n importPath: '@open-mercato/ui/backend/filters/ListEmptyState',\n variants: [\n {\n id: 'with-create-action',\n title: 'With create action',\n render: () => (\n <div className=\"w-full max-w-xl\">\n <ListEmptyState entityName=\"companies\" onCreate={() => {}} createLabel=\"Add company\" />\n </div>\n ),\n code: `import { ListEmptyState } from '@open-mercato/ui/backend/filters/ListEmptyState'\n\n// Pass to DataTable's emptyState for the zero-records case.\n<ListEmptyState entityName=\"companies\" createHref=\"/backend/customers/companies/create\" createLabel=\"Add company\" />`,\n },\n {\n id: 'custom-copy',\n title: 'Custom title and description',\n render: () => (\n <div className=\"w-full max-w-xl\">\n <ListEmptyState\n title=\"No imports yet\"\n description=\"Connect a source or upload a CSV file to bring records in.\"\n />\n </div>\n ),\n code: `import { ListEmptyState } from '@open-mercato/ui/backend/filters/ListEmptyState'\n\n<ListEmptyState\n title=\"No imports yet\"\n description=\"Connect a source or upload a CSV file to bring records in.\"\n/>`,\n },\n ],\n}\n\nconst filteredEmptyResultsEntry: GalleryEntry = {\n id: 'filtered-empty-results',\n title: 'FilteredEmptyResults',\n importPath: '@open-mercato/ui/backend/filters/FilteredEmptyResults',\n variants: [\n {\n id: 'filters-only',\n title: 'Filters active',\n render: () => (\n <div className=\"w-full max-w-xl\">\n <FilteredEmptyResults\n entityNamePlural=\"companies\"\n canRemoveLast\n onClearAll={() => {}}\n onRemoveLast={() => {}}\n />\n </div>\n ),\n code: `import { FilteredEmptyResults } from '@open-mercato/ui/backend/filters/FilteredEmptyResults'\n\n// DataTable renders this automatically when filters match nothing.\n<FilteredEmptyResults\n entityNamePlural=\"companies\"\n canRemoveLast={tree.root.children.length > 0}\n onClearAll={clearFilters}\n onRemoveLast={removeLastFilter}\n/>`,\n },\n {\n id: 'with-search',\n title: 'Search and filters active',\n render: () => (\n <div className=\"w-full max-w-xl\">\n <FilteredEmptyResults\n entityNamePlural=\"companies\"\n canRemoveLast\n onClearAll={() => {}}\n onRemoveLast={() => {}}\n onClearSearch={() => {}}\n />\n </div>\n ),\n code: `import { FilteredEmptyResults } from '@open-mercato/ui/backend/filters/FilteredEmptyResults'\n\n// Passing onClearSearch switches to combined copy and clears both at once.\n<FilteredEmptyResults\n entityNamePlural=\"companies\"\n canRemoveLast\n onClearAll={clearFilters}\n onRemoveLast={removeLastFilter}\n onClearSearch={clearSearch}\n/>`,\n },\n ],\n}\n\nconst searchEmptyResultsEntry: GalleryEntry = {\n id: 'search-empty-results',\n title: 'SearchEmptyResults',\n importPath: '@open-mercato/ui/backend/filters/SearchEmptyResults',\n variants: [\n {\n id: 'default',\n title: 'Default',\n render: () => (\n <div className=\"flex w-full max-w-xl justify-center\">\n <SearchEmptyResults query=\"northwind\" onClearSearch={() => {}} />\n </div>\n ),\n code: `import { SearchEmptyResults } from '@open-mercato/ui/backend/filters/SearchEmptyResults'\n\n// DataTable renders this automatically when a search matches nothing.\n<SearchEmptyResults query={search} onClearSearch={() => setSearch('')} />`,\n },\n {\n id: 'with-entity',\n title: 'With entity label',\n render: () => (\n <div className=\"flex w-full max-w-xl justify-center\">\n <SearchEmptyResults\n query=\"northwind\"\n entityNamePlural=\"companies\"\n onClearSearch={() => {}}\n />\n </div>\n ),\n code: `import { SearchEmptyResults } from '@open-mercato/ui/backend/filters/SearchEmptyResults'\n\n<SearchEmptyResults query={search} entityNamePlural=\"companies\" onClearSearch={() => setSearch('')} />`,\n },\n ],\n}\n\nexport const entries: GalleryEntry[] = [\n filterBarEntry,\n quickFiltersEntry,\n activeFilterChipsEntry,\n advancedFilterBuilderEntry,\n filterEmptyStateEntry,\n listEmptyStateEntry,\n filteredEmptyResultsEntry,\n searchEmptyResultsEntry,\n]\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,453 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { Circle } from "lucide-react";
4
+ import { flash } from "@open-mercato/ui/backend/FlashMessages";
5
+ const TOKENS_IMPORT = "apps/mercato/src/app/globals.css";
6
+ const FIGMA_COLORS_NODE = "553:14956";
7
+ function SwatchCard({ copyText, label, children }) {
8
+ const onCopy = React.useCallback(async () => {
9
+ try {
10
+ await navigator.clipboard.writeText(copyText);
11
+ flash(`${copyText} copied`, "success");
12
+ } catch {
13
+ flash("Could not copy the token", "error");
14
+ }
15
+ }, [copyText]);
16
+ return /* @__PURE__ */ jsxs(
17
+ "button",
18
+ {
19
+ type: "button",
20
+ onClick: onCopy,
21
+ className: "flex w-36 flex-col items-start gap-1 rounded-md border border-border bg-background p-2 text-left transition-colors hover:bg-muted/40 focus-visible:outline-none focus-visible:shadow-focus",
22
+ title: `Copy ${copyText}`,
23
+ children: [
24
+ children,
25
+ /* @__PURE__ */ jsx("code", { className: "break-all text-[11px] leading-tight text-muted-foreground", children: label })
26
+ ]
27
+ }
28
+ );
29
+ }
30
+ function TokenSwatch({ tokenClass, label }) {
31
+ return /* @__PURE__ */ jsx(SwatchCard, { copyText: label, label, children: /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: `h-10 w-full rounded-sm border border-border ${tokenClass}` }) });
32
+ }
33
+ function TextSwatch({ textClass, label }) {
34
+ return /* @__PURE__ */ jsx(SwatchCard, { copyText: textClass, label, children: /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "flex h-10 w-full items-center justify-center rounded-sm border border-border bg-background", children: /* @__PURE__ */ jsx("span", { className: `text-xl font-semibold leading-none ${textClass}`, children: "Aa" }) }) });
35
+ }
36
+ function BorderSwatch({ borderClass, label }) {
37
+ return /* @__PURE__ */ jsx(SwatchCard, { copyText: borderClass, label, children: /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: `h-10 w-full rounded-sm border-2 bg-background ${borderClass}` }) });
38
+ }
39
+ function IconSwatch({ iconClass, label }) {
40
+ return /* @__PURE__ */ jsx(SwatchCard, { copyText: iconClass, label, children: /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "flex h-10 w-full items-center justify-center rounded-sm border border-border bg-background", children: /* @__PURE__ */ jsx(Circle, { className: `size-4 fill-current ${iconClass}` }) }) });
41
+ }
42
+ function SwatchRow({ items }) {
43
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: items.map((item) => /* @__PURE__ */ jsx(TokenSwatch, { tokenClass: item.tokenClass, label: item.label }, item.label)) });
44
+ }
45
+ const brandColorsEntry = {
46
+ id: "brand-colors",
47
+ title: "Brand colors",
48
+ importPath: TOKENS_IMPORT,
49
+ usage: {
50
+ do: ["brand-violet 10/30/100 pattern (bg/border/text) for proposed and feature accents."],
51
+ dont: ["Never theme or repurpose accent-indigo \u2014 it is the selection-control contract."]
52
+ },
53
+ figmaNodeId: FIGMA_COLORS_NODE,
54
+ variants: [
55
+ {
56
+ id: "gradient",
57
+ title: "gradient 135\xB0",
58
+ render: () => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
59
+ /* @__PURE__ */ jsx(
60
+ "div",
61
+ {
62
+ "aria-hidden": true,
63
+ className: "h-16 w-full max-w-md rounded-md border border-border bg-linear-135 from-brand-lime from-0% via-brand-yellow via-35% to-brand-violet to-70%"
64
+ }
65
+ ),
66
+ /* @__PURE__ */ jsx("code", { className: "text-xs text-muted-foreground", children: "brand-lime 0%, brand-yellow 35%, brand-violet 70%" })
67
+ ] }),
68
+ code: `<div className="bg-linear-135 from-brand-lime from-0% via-brand-yellow via-35% to-brand-violet to-70%" />`
69
+ },
70
+ {
71
+ id: "identity",
72
+ title: "identity",
73
+ render: () => /* @__PURE__ */ jsx(
74
+ SwatchRow,
75
+ {
76
+ items: [
77
+ { tokenClass: "bg-brand-lime", label: "brand-lime" },
78
+ { tokenClass: "bg-brand-yellow", label: "brand-yellow" },
79
+ { tokenClass: "bg-brand-violet", label: "brand-violet" },
80
+ { tokenClass: "bg-brand-violet-foreground", label: "brand-violet-foreground" },
81
+ { tokenClass: "bg-accent-indigo", label: "accent-indigo" }
82
+ ]
83
+ }
84
+ ),
85
+ code: `<span className="bg-brand-violet/10 border-brand-violet/30 text-brand-violet" />`
86
+ },
87
+ {
88
+ id: "social",
89
+ title: "social",
90
+ render: () => /* @__PURE__ */ jsx(
91
+ SwatchRow,
92
+ {
93
+ items: [
94
+ { tokenClass: "bg-brand-apple", label: "brand-apple" },
95
+ { tokenClass: "bg-brand-github", label: "brand-github" },
96
+ { tokenClass: "bg-brand-facebook", label: "brand-facebook" },
97
+ { tokenClass: "bg-brand-dropbox", label: "brand-dropbox" },
98
+ { tokenClass: "bg-brand-linkedin", label: "brand-linkedin" },
99
+ { tokenClass: "bg-brand-x", label: "brand-x" }
100
+ ]
101
+ }
102
+ ),
103
+ code: `<SocialButton provider="github" />`
104
+ }
105
+ ]
106
+ };
107
+ const colorTokensEntry = {
108
+ id: "color-tokens",
109
+ title: "Color tokens",
110
+ importPath: TOKENS_IMPORT,
111
+ usage: {
112
+ do: ["Pair every surface with its -foreground counterpart.", "Borders come from border-border / border-input \u2014 nothing else."],
113
+ dont: ["Never border-gray-* or any raw palette shade."]
114
+ },
115
+ figmaNodeId: FIGMA_COLORS_NODE,
116
+ variants: [
117
+ {
118
+ id: "primary",
119
+ title: "primary",
120
+ render: () => /* @__PURE__ */ jsx(
121
+ SwatchRow,
122
+ {
123
+ items: [
124
+ { tokenClass: "bg-primary", label: "primary" },
125
+ { tokenClass: "bg-primary-foreground", label: "primary-foreground" },
126
+ { tokenClass: "bg-primary-hover", label: "primary-hover" },
127
+ { tokenClass: "bg-destructive", label: "destructive" }
128
+ ]
129
+ }
130
+ ),
131
+ code: `<div className="bg-primary text-primary-foreground hover:bg-primary-hover" />`
132
+ },
133
+ {
134
+ id: "background",
135
+ title: "background (bg)",
136
+ render: () => /* @__PURE__ */ jsx(
137
+ SwatchRow,
138
+ {
139
+ items: [
140
+ { tokenClass: "bg-background", label: "background" },
141
+ { tokenClass: "bg-card", label: "card" },
142
+ { tokenClass: "bg-popover", label: "popover" },
143
+ { tokenClass: "bg-muted", label: "muted" },
144
+ { tokenClass: "bg-accent", label: "accent" },
145
+ { tokenClass: "bg-sidebar", label: "sidebar" },
146
+ { tokenClass: "bg-bg-disabled", label: "bg-disabled" }
147
+ ]
148
+ }
149
+ ),
150
+ code: `<div className="bg-card text-card-foreground" />`
151
+ },
152
+ {
153
+ id: "text",
154
+ title: "text",
155
+ render: () => /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-2", children: [
156
+ /* @__PURE__ */ jsx(TextSwatch, { textClass: "text-foreground", label: "text-foreground" }),
157
+ /* @__PURE__ */ jsx(TextSwatch, { textClass: "text-muted-foreground", label: "text-muted-foreground" }),
158
+ /* @__PURE__ */ jsx(TextSwatch, { textClass: "text-card-foreground", label: "text-card-foreground" }),
159
+ /* @__PURE__ */ jsx(TextSwatch, { textClass: "text-accent-foreground", label: "text-accent-foreground" }),
160
+ /* @__PURE__ */ jsx(TextSwatch, { textClass: "text-text-disabled", label: "text-text-disabled" })
161
+ ] }),
162
+ code: `<p className="text-muted-foreground">Secondary copy</p>`
163
+ },
164
+ {
165
+ id: "stroke",
166
+ title: "stroke",
167
+ render: () => /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-2", children: [
168
+ /* @__PURE__ */ jsx(BorderSwatch, { borderClass: "border-border", label: "border-border" }),
169
+ /* @__PURE__ */ jsx(BorderSwatch, { borderClass: "border-input", label: "border-input" }),
170
+ /* @__PURE__ */ jsx(BorderSwatch, { borderClass: "border-ring", label: "border-ring" }),
171
+ /* @__PURE__ */ jsx(BorderSwatch, { borderClass: "border-border-disabled", label: "border-border-disabled" })
172
+ ] }),
173
+ code: `<div className="border-border focus-visible:ring-ring" />`
174
+ }
175
+ ]
176
+ };
177
+ const FIGMA_STATE_TO_CODE = [
178
+ { figma: "Faded", status: "neutral", chipLabel: "Neutral", bg: "bg-status-neutral-bg", text: "text-status-neutral-text", border: "border-status-neutral-border", icon: "text-status-neutral-icon", dot: "bg-status-neutral-icon" },
179
+ { figma: "Information", status: "info", chipLabel: "Info", bg: "bg-status-info-bg", text: "text-status-info-text", border: "border-status-info-border", icon: "text-status-info-icon", dot: "bg-status-info-icon" },
180
+ { figma: "Warning", status: "warning", chipLabel: "Warning", bg: "bg-status-warning-bg", text: "text-status-warning-text", border: "border-status-warning-border", icon: "text-status-warning-icon", dot: "bg-status-warning-icon" },
181
+ { figma: "Error", status: "error", chipLabel: "Error", bg: "bg-status-error-bg", text: "text-status-error-text", border: "border-status-error-border", icon: "text-status-error-icon", dot: "bg-status-error-icon" },
182
+ { figma: "Success", status: "success", chipLabel: "Success", bg: "bg-status-success-bg", text: "text-status-success-text", border: "border-status-success-border", icon: "text-status-success-icon", dot: "bg-status-success-icon" },
183
+ { figma: "Highlighted", status: "pink", chipLabel: "Highlighted", bg: "bg-status-pink-bg", text: "text-status-pink-text", border: "border-status-pink-border", icon: "text-status-pink-icon", dot: "bg-status-pink-icon" }
184
+ ];
185
+ function StatusFamilyPreview({ family }) {
186
+ return /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
187
+ /* @__PURE__ */ jsxs(
188
+ "span",
189
+ {
190
+ className: `inline-flex items-center gap-1.5 rounded-md border px-2.5 py-1 text-sm font-medium ${family.bg} ${family.text} ${family.border}`,
191
+ children: [
192
+ /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: `size-2 rounded-full ${family.dot}` }),
193
+ family.chipLabel
194
+ ]
195
+ }
196
+ ),
197
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-2", children: [
198
+ /* @__PURE__ */ jsx(TokenSwatch, { tokenClass: family.bg, label: family.bg }),
199
+ /* @__PURE__ */ jsx(TextSwatch, { textClass: family.text, label: family.text }),
200
+ /* @__PURE__ */ jsx(BorderSwatch, { borderClass: family.border, label: family.border }),
201
+ /* @__PURE__ */ jsx(IconSwatch, { iconClass: family.icon, label: family.icon })
202
+ ] })
203
+ ] });
204
+ }
205
+ const stateTokensEntry = {
206
+ id: "state-tokens",
207
+ title: "State color tokens",
208
+ importPath: TOKENS_IMPORT,
209
+ usage: {
210
+ do: [
211
+ "Pair -bg with -text of the same family \u2014 the shades are contrast-tested together.",
212
+ "-icon for glyphs and dots, -border for outlines; both handle dark mode themselves."
213
+ ],
214
+ dont: [
215
+ "Never hardcode Tailwind status colors (text-red-*, bg-green-*, text-amber-*).",
216
+ "No dark: overrides on status tokens \u2014 they already theme."
217
+ ]
218
+ },
219
+ figmaNodeId: FIGMA_COLORS_NODE,
220
+ variants: [
221
+ ...FIGMA_STATE_TO_CODE.map((family) => ({
222
+ id: family.status,
223
+ title: `${family.figma} \u2192 status-${family.status}`,
224
+ render: () => /* @__PURE__ */ jsx(StatusFamilyPreview, { family }),
225
+ code: `<span className="${family.bg} ${family.text} ${family.border}" />`
226
+ })),
227
+ {
228
+ id: "feature",
229
+ title: "Feature \u2192 brand-violet pattern",
230
+ render: () => /* @__PURE__ */ jsx("div", { className: "flex max-w-md items-center gap-2 rounded-md border border-brand-violet/30 bg-brand-violet/10 p-3 text-sm text-brand-violet", children: "Feature state uses the brand-violet 10/30/100 pattern, not a status family." }),
231
+ code: `<Alert status="feature" />`
232
+ }
233
+ ]
234
+ };
235
+ const chartPaletteEntry = {
236
+ id: "chart-palette",
237
+ title: "Chart palette",
238
+ importPath: TOKENS_IMPORT,
239
+ usage: {
240
+ dont: [
241
+ "Never build token class names dynamically (`bg-chart-${n}`) \u2014 the Tailwind scanner only sees complete literals, so the class is silently never generated."
242
+ ]
243
+ },
244
+ variants: [
245
+ {
246
+ id: "numbered",
247
+ title: "numbered",
248
+ render: () => /* @__PURE__ */ jsx(
249
+ SwatchRow,
250
+ {
251
+ items: [
252
+ { tokenClass: "bg-chart-1", label: "chart-1" },
253
+ { tokenClass: "bg-chart-2", label: "chart-2" },
254
+ { tokenClass: "bg-chart-3", label: "chart-3" },
255
+ { tokenClass: "bg-chart-4", label: "chart-4" },
256
+ { tokenClass: "bg-chart-5", label: "chart-5" }
257
+ ]
258
+ }
259
+ ),
260
+ code: `<BarChart data={data} />`
261
+ },
262
+ {
263
+ id: "named",
264
+ title: "named",
265
+ render: () => /* @__PURE__ */ jsx(
266
+ SwatchRow,
267
+ {
268
+ items: [
269
+ { tokenClass: "bg-chart-blue", label: "chart-blue" },
270
+ { tokenClass: "bg-chart-emerald", label: "chart-emerald" },
271
+ { tokenClass: "bg-chart-amber", label: "chart-amber" },
272
+ { tokenClass: "bg-chart-rose", label: "chart-rose" },
273
+ { tokenClass: "bg-chart-violet", label: "chart-violet" },
274
+ { tokenClass: "bg-chart-cyan", label: "chart-cyan" },
275
+ { tokenClass: "bg-chart-indigo", label: "chart-indigo" },
276
+ { tokenClass: "bg-chart-pink", label: "chart-pink" },
277
+ { tokenClass: "bg-chart-teal", label: "chart-teal" },
278
+ { tokenClass: "bg-chart-orange", label: "chart-orange" }
279
+ ]
280
+ }
281
+ ),
282
+ code: `<Sparkline className="text-chart-blue" data={points} />`
283
+ }
284
+ ]
285
+ };
286
+ function RoleCard({ role }) {
287
+ const label = `${role.surface} / ${role.onSurface}`;
288
+ const onCopy = React.useCallback(async () => {
289
+ try {
290
+ await navigator.clipboard.writeText(`${role.surfaceCls} ${role.onSurfaceCls}`);
291
+ flash(`${role.surfaceCls} ${role.onSurfaceCls} copied`, "success");
292
+ } catch {
293
+ flash("Could not copy the classes", "error");
294
+ }
295
+ }, [role]);
296
+ return /* @__PURE__ */ jsxs(
297
+ "button",
298
+ {
299
+ type: "button",
300
+ onClick: onCopy,
301
+ title: `Copy ${role.surfaceCls} ${role.onSurfaceCls}`,
302
+ className: `flex h-24 w-full flex-col justify-between rounded-md border p-3 text-left transition-opacity hover:opacity-90 focus-visible:outline-none focus-visible:shadow-focus ${role.surfaceCls} ${role.onSurfaceCls} ${role.borderCls ?? "border-border"}`,
303
+ children: [
304
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium leading-tight", children: role.surface }),
305
+ /* @__PURE__ */ jsx("code", { className: "text-xs opacity-80", children: role.onSurface })
306
+ ]
307
+ }
308
+ );
309
+ }
310
+ function RoleGrid({ roles }) {
311
+ return /* @__PURE__ */ jsx("div", { className: "grid w-full gap-2 sm:grid-cols-2 lg:grid-cols-3", children: roles.map((role) => /* @__PURE__ */ jsx(RoleCard, { role }, role.surface + role.onSurface)) });
312
+ }
313
+ const colorRolesEntry = {
314
+ id: "color-roles",
315
+ title: "Color roles",
316
+ importPath: TOKENS_IMPORT,
317
+ figmaNodeId: FIGMA_COLORS_NODE,
318
+ keywords: ["roles", "pairs", "on-color", "material"],
319
+ usage: {
320
+ do: [
321
+ "A role is a surface paired with its content color \u2014 always use them together, never mix pairs.",
322
+ "Click a card to copy both classes of the pair."
323
+ ],
324
+ dont: [
325
+ "Never put foreground on a surface from a different pair \u2014 contrast is only tested within a pair.",
326
+ "Never use a -foreground token as a standalone accent color."
327
+ ]
328
+ },
329
+ variants: [
330
+ {
331
+ id: "action",
332
+ title: "action",
333
+ render: () => /* @__PURE__ */ jsx(
334
+ RoleGrid,
335
+ {
336
+ roles: [
337
+ { surface: "primary", onSurface: "primary-foreground", surfaceCls: "bg-primary", onSurfaceCls: "text-primary-foreground" },
338
+ { surface: "destructive", onSurface: "white", surfaceCls: "bg-destructive", onSurfaceCls: "text-white" },
339
+ { surface: "brand-violet", onSurface: "brand-violet-foreground", surfaceCls: "bg-brand-violet", onSurfaceCls: "text-brand-violet-foreground" },
340
+ { surface: "accent-indigo", onSurface: "accent-indigo-foreground", surfaceCls: "bg-accent-indigo", onSurfaceCls: "text-accent-indigo-foreground" }
341
+ ]
342
+ }
343
+ ),
344
+ code: `<button className="bg-primary text-primary-foreground" />`
345
+ },
346
+ {
347
+ id: "surfaces",
348
+ title: "surfaces",
349
+ render: () => /* @__PURE__ */ jsx(
350
+ RoleGrid,
351
+ {
352
+ roles: [
353
+ { surface: "background", onSurface: "foreground", surfaceCls: "bg-background", onSurfaceCls: "text-foreground" },
354
+ { surface: "card", onSurface: "card-foreground", surfaceCls: "bg-card", onSurfaceCls: "text-card-foreground" },
355
+ { surface: "popover", onSurface: "popover-foreground", surfaceCls: "bg-popover", onSurfaceCls: "text-popover-foreground" },
356
+ { surface: "muted", onSurface: "muted-foreground", surfaceCls: "bg-muted", onSurfaceCls: "text-muted-foreground" },
357
+ { surface: "accent", onSurface: "accent-foreground", surfaceCls: "bg-accent", onSurfaceCls: "text-accent-foreground" },
358
+ { surface: "sidebar", onSurface: "sidebar-foreground", surfaceCls: "bg-sidebar", onSurfaceCls: "text-sidebar-foreground" }
359
+ ]
360
+ }
361
+ ),
362
+ code: `<div className="bg-card text-card-foreground" />`
363
+ },
364
+ {
365
+ id: "status",
366
+ title: "status",
367
+ render: () => /* @__PURE__ */ jsx(
368
+ RoleGrid,
369
+ {
370
+ roles: ["error", "success", "warning", "info", "neutral", "pink"].map((status) => ({
371
+ surface: `status-${status}-bg`,
372
+ onSurface: `status-${status}-text`,
373
+ surfaceCls: `bg-status-${status}-bg`,
374
+ onSurfaceCls: `text-status-${status}-text`,
375
+ borderCls: `border-status-${status}-border`
376
+ }))
377
+ }
378
+ ),
379
+ code: `<span className="bg-status-error-bg text-status-error-text border-status-error-border" />`
380
+ }
381
+ ]
382
+ };
383
+ const RADIUS_SCALE = [
384
+ { cls: "rounded-none", label: "rounded-none", px: "0px" },
385
+ { cls: "rounded-sm", label: "rounded-sm", px: "6px" },
386
+ { cls: "rounded-md", label: "rounded-md", px: "8px" },
387
+ { cls: "rounded-lg", label: "rounded-lg", px: "10px" },
388
+ { cls: "rounded-xl", label: "rounded-xl", px: "16px" },
389
+ { cls: "rounded-full", label: "rounded-full", px: "999px" }
390
+ ];
391
+ function RadiusCard({ cls, label, px }) {
392
+ const onCopy = React.useCallback(async () => {
393
+ try {
394
+ await navigator.clipboard.writeText(label);
395
+ flash(`${label} copied`, "success");
396
+ } catch {
397
+ flash("Could not copy the class", "error");
398
+ }
399
+ }, [label]);
400
+ return /* @__PURE__ */ jsxs(
401
+ "button",
402
+ {
403
+ type: "button",
404
+ onClick: onCopy,
405
+ title: `Copy ${label}`,
406
+ className: "flex w-36 flex-col items-start gap-2 rounded-md border border-border bg-background p-2 text-left transition-colors hover:bg-muted/40",
407
+ children: [
408
+ /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: `h-14 w-full border-2 border-dashed border-status-pink-icon bg-status-pink-bg ${cls}` }),
409
+ /* @__PURE__ */ jsxs("span", { className: "space-y-0.5", children: [
410
+ /* @__PURE__ */ jsx("code", { className: "block text-xs text-foreground", children: label }),
411
+ /* @__PURE__ */ jsx("span", { className: "block text-xs text-muted-foreground", children: px })
412
+ ] })
413
+ ]
414
+ }
415
+ );
416
+ }
417
+ const radiusEntry = {
418
+ id: "corner-radius",
419
+ title: "Corner radius",
420
+ importPath: TOKENS_IMPORT,
421
+ keywords: ["radius", "rounded", "border-radius", "corners"],
422
+ usage: {
423
+ do: [
424
+ "The scale derives from the --radius base token (10px): sm 6px, md 8px, lg 10px, xl 16px.",
425
+ "Cards and panels use rounded-lg; controls, chips and filter buttons use rounded-md.",
426
+ "rounded-full is reserved for Badge, Tag, SegmentedControl, Avatar and status dots."
427
+ ],
428
+ dont: [
429
+ "No arbitrary values (rounded-[24px]) \u2014 pick from the scale.",
430
+ "No full-pill radii on filter chips or custom controls outside the reserved primitives."
431
+ ]
432
+ },
433
+ variants: [
434
+ {
435
+ id: "scale",
436
+ title: "scale",
437
+ render: () => /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: RADIUS_SCALE.map((item) => /* @__PURE__ */ jsx(RadiusCard, { ...item }, item.cls)) }),
438
+ code: `<div className="rounded-lg border border-border" />`
439
+ }
440
+ ]
441
+ };
442
+ const entries = [
443
+ brandColorsEntry,
444
+ colorRolesEntry,
445
+ colorTokensEntry,
446
+ stateTokensEntry,
447
+ chartPaletteEntry,
448
+ radiusEntry
449
+ ];
450
+ export {
451
+ entries
452
+ };
453
+ //# sourceMappingURL=foundations.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/modules/design_system/gallery/entries/foundations.tsx"],
4
+ "sourcesContent": ["import * as React from 'react'\nimport { Circle } from 'lucide-react'\nimport { flash } from '@open-mercato/ui/backend/FlashMessages'\nimport type { GalleryEntry } from '../types'\n\n// Token names are proper nouns from the codebase and are deliberately not\n// translated. Structure mirrors the DS Figma color-system sheet (node\n// 553:14956): Brand Colors \u2192 Color Tokens by role \u2192 State Color Tokens.\n// Figma state names map to code tokens per the contract documented in\n// globals.css: state/{x}/base\u2192icon, /light\u2192border, /lighter\u2192bg.\n\nconst TOKENS_IMPORT = 'apps/mercato/src/app/globals.css'\nconst FIGMA_COLORS_NODE = '553:14956'\n\nfunction SwatchCard({ copyText, label, children }: { copyText: string; label: string; children: React.ReactNode }) {\n const onCopy = React.useCallback(async () => {\n try {\n await navigator.clipboard.writeText(copyText)\n flash(`${copyText} copied`, 'success')\n } catch {\n flash('Could not copy the token', 'error')\n }\n }, [copyText])\n return (\n <button\n type=\"button\"\n onClick={onCopy}\n className=\"flex w-36 flex-col items-start gap-1 rounded-md border border-border bg-background p-2 text-left transition-colors hover:bg-muted/40 focus-visible:outline-none focus-visible:shadow-focus\"\n title={`Copy ${copyText}`}\n >\n {children}\n <code className=\"break-all text-[11px] leading-tight text-muted-foreground\">{label}</code>\n </button>\n )\n}\n\nfunction TokenSwatch({ tokenClass, label }: { tokenClass: string; label: string }) {\n return (\n <SwatchCard copyText={label} label={label}>\n <span aria-hidden className={`h-10 w-full rounded-sm border border-border ${tokenClass}`} />\n </SwatchCard>\n )\n}\n\n// A text-color token shown in its actual role \u2014 as type, not as a fill.\nfunction TextSwatch({ textClass, label }: { textClass: string; label: string }) {\n return (\n <SwatchCard copyText={textClass} label={label}>\n <span aria-hidden className=\"flex h-10 w-full items-center justify-center rounded-sm border border-border bg-background\">\n <span className={`text-xl font-semibold leading-none ${textClass}`}>Aa</span>\n </span>\n </SwatchCard>\n )\n}\n\n// A border-color token shown as a 2px outline on the neutral surface.\nfunction BorderSwatch({ borderClass, label }: { borderClass: string; label: string }) {\n return (\n <SwatchCard copyText={borderClass} label={label}>\n <span aria-hidden className={`h-10 w-full rounded-sm border-2 bg-background ${borderClass}`} />\n </SwatchCard>\n )\n}\n\n// An icon-color token shown on a real glyph.\nfunction IconSwatch({ iconClass, label }: { iconClass: string; label: string }) {\n return (\n <SwatchCard copyText={iconClass} label={label}>\n <span aria-hidden className=\"flex h-10 w-full items-center justify-center rounded-sm border border-border bg-background\">\n <Circle className={`size-4 fill-current ${iconClass}`} />\n </span>\n </SwatchCard>\n )\n}\n\nfunction SwatchRow({ items }: { items: Array<{ tokenClass: string; label: string }> }) {\n return (\n <div className=\"flex flex-wrap gap-2\">\n {items.map((item) => (\n <TokenSwatch key={item.label} tokenClass={item.tokenClass} label={item.label} />\n ))}\n </div>\n )\n}\n\nconst brandColorsEntry: GalleryEntry = {\n id: 'brand-colors',\n title: 'Brand colors',\n importPath: TOKENS_IMPORT,\n usage: {\n do: ['brand-violet 10/30/100 pattern (bg/border/text) for proposed and feature accents.'],\n dont: ['Never theme or repurpose accent-indigo \u2014 it is the selection-control contract.'],\n },\n figmaNodeId: FIGMA_COLORS_NODE,\n variants: [\n {\n id: 'gradient',\n title: 'gradient 135\u00B0',\n render: () => (\n <div className=\"space-y-2\">\n <div\n aria-hidden\n className=\"h-16 w-full max-w-md rounded-md border border-border bg-linear-135 from-brand-lime from-0% via-brand-yellow via-35% to-brand-violet to-70%\"\n />\n <code className=\"text-xs text-muted-foreground\">brand-lime 0%, brand-yellow 35%, brand-violet 70%</code>\n </div>\n ),\n code: `<div className=\"bg-linear-135 from-brand-lime from-0% via-brand-yellow via-35% to-brand-violet to-70%\" />`,\n },\n {\n id: 'identity',\n title: 'identity',\n render: () => (\n <SwatchRow\n items={[\n { tokenClass: 'bg-brand-lime', label: 'brand-lime' },\n { tokenClass: 'bg-brand-yellow', label: 'brand-yellow' },\n { tokenClass: 'bg-brand-violet', label: 'brand-violet' },\n { tokenClass: 'bg-brand-violet-foreground', label: 'brand-violet-foreground' },\n { tokenClass: 'bg-accent-indigo', label: 'accent-indigo' },\n ]}\n />\n ),\n code: `<span className=\"bg-brand-violet/10 border-brand-violet/30 text-brand-violet\" />`,\n },\n {\n id: 'social',\n title: 'social',\n render: () => (\n <SwatchRow\n items={[\n { tokenClass: 'bg-brand-apple', label: 'brand-apple' },\n { tokenClass: 'bg-brand-github', label: 'brand-github' },\n { tokenClass: 'bg-brand-facebook', label: 'brand-facebook' },\n { tokenClass: 'bg-brand-dropbox', label: 'brand-dropbox' },\n { tokenClass: 'bg-brand-linkedin', label: 'brand-linkedin' },\n { tokenClass: 'bg-brand-x', label: 'brand-x' },\n ]}\n />\n ),\n code: `<SocialButton provider=\"github\" />`,\n },\n ],\n}\n\nconst colorTokensEntry: GalleryEntry = {\n id: 'color-tokens',\n title: 'Color tokens',\n importPath: TOKENS_IMPORT,\n usage: {\n do: ['Pair every surface with its -foreground counterpart.', 'Borders come from border-border / border-input \u2014 nothing else.'],\n dont: ['Never border-gray-* or any raw palette shade.'],\n },\n figmaNodeId: FIGMA_COLORS_NODE,\n variants: [\n {\n id: 'primary',\n title: 'primary',\n render: () => (\n <SwatchRow\n items={[\n { tokenClass: 'bg-primary', label: 'primary' },\n { tokenClass: 'bg-primary-foreground', label: 'primary-foreground' },\n { tokenClass: 'bg-primary-hover', label: 'primary-hover' },\n { tokenClass: 'bg-destructive', label: 'destructive' },\n ]}\n />\n ),\n code: `<div className=\"bg-primary text-primary-foreground hover:bg-primary-hover\" />`,\n },\n {\n id: 'background',\n title: 'background (bg)',\n render: () => (\n <SwatchRow\n items={[\n { tokenClass: 'bg-background', label: 'background' },\n { tokenClass: 'bg-card', label: 'card' },\n { tokenClass: 'bg-popover', label: 'popover' },\n { tokenClass: 'bg-muted', label: 'muted' },\n { tokenClass: 'bg-accent', label: 'accent' },\n { tokenClass: 'bg-sidebar', label: 'sidebar' },\n { tokenClass: 'bg-bg-disabled', label: 'bg-disabled' },\n ]}\n />\n ),\n code: `<div className=\"bg-card text-card-foreground\" />`,\n },\n {\n id: 'text',\n title: 'text',\n render: () => (\n <div className=\"flex flex-wrap gap-2\">\n <TextSwatch textClass=\"text-foreground\" label=\"text-foreground\" />\n <TextSwatch textClass=\"text-muted-foreground\" label=\"text-muted-foreground\" />\n <TextSwatch textClass=\"text-card-foreground\" label=\"text-card-foreground\" />\n <TextSwatch textClass=\"text-accent-foreground\" label=\"text-accent-foreground\" />\n <TextSwatch textClass=\"text-text-disabled\" label=\"text-text-disabled\" />\n </div>\n ),\n code: `<p className=\"text-muted-foreground\">Secondary copy</p>`,\n },\n {\n id: 'stroke',\n title: 'stroke',\n render: () => (\n <div className=\"flex flex-wrap gap-2\">\n <BorderSwatch borderClass=\"border-border\" label=\"border-border\" />\n <BorderSwatch borderClass=\"border-input\" label=\"border-input\" />\n <BorderSwatch borderClass=\"border-ring\" label=\"border-ring\" />\n <BorderSwatch borderClass=\"border-border-disabled\" label=\"border-border-disabled\" />\n </div>\n ),\n code: `<div className=\"border-border focus-visible:ring-ring\" />`,\n },\n ],\n}\n\n// Literal class strings on purpose: the Tailwind scanner only sees complete\n// literals, so `bg-status-${x}` variants would silently never be generated.\ntype StatusFamily = {\n figma: string\n status: string\n chipLabel: string\n bg: string\n text: string\n border: string\n icon: string\n dot: string\n}\n\nconst FIGMA_STATE_TO_CODE: StatusFamily[] = [\n { figma: 'Faded', status: 'neutral', chipLabel: 'Neutral', bg: 'bg-status-neutral-bg', text: 'text-status-neutral-text', border: 'border-status-neutral-border', icon: 'text-status-neutral-icon', dot: 'bg-status-neutral-icon' },\n { figma: 'Information', status: 'info', chipLabel: 'Info', bg: 'bg-status-info-bg', text: 'text-status-info-text', border: 'border-status-info-border', icon: 'text-status-info-icon', dot: 'bg-status-info-icon' },\n { figma: 'Warning', status: 'warning', chipLabel: 'Warning', bg: 'bg-status-warning-bg', text: 'text-status-warning-text', border: 'border-status-warning-border', icon: 'text-status-warning-icon', dot: 'bg-status-warning-icon' },\n { figma: 'Error', status: 'error', chipLabel: 'Error', bg: 'bg-status-error-bg', text: 'text-status-error-text', border: 'border-status-error-border', icon: 'text-status-error-icon', dot: 'bg-status-error-icon' },\n { figma: 'Success', status: 'success', chipLabel: 'Success', bg: 'bg-status-success-bg', text: 'text-status-success-text', border: 'border-status-success-border', icon: 'text-status-success-icon', dot: 'bg-status-success-icon' },\n { figma: 'Highlighted', status: 'pink', chipLabel: 'Highlighted', bg: 'bg-status-pink-bg', text: 'text-status-pink-text', border: 'border-status-pink-border', icon: 'text-status-pink-icon', dot: 'bg-status-pink-icon' },\n]\n\n// One status family: the composed chip first (how the roles work together),\n// then each token presented in its actual role.\nfunction StatusFamilyPreview({ family }: { family: StatusFamily }) {\n return (\n <div className=\"space-y-3\">\n <span\n className={`inline-flex items-center gap-1.5 rounded-md border px-2.5 py-1 text-sm font-medium ${family.bg} ${family.text} ${family.border}`}\n >\n <span aria-hidden className={`size-2 rounded-full ${family.dot}`} />\n {family.chipLabel}\n </span>\n <div className=\"flex flex-wrap gap-2\">\n <TokenSwatch tokenClass={family.bg} label={family.bg} />\n <TextSwatch textClass={family.text} label={family.text} />\n <BorderSwatch borderClass={family.border} label={family.border} />\n <IconSwatch iconClass={family.icon} label={family.icon} />\n </div>\n </div>\n )\n}\n\nconst stateTokensEntry: GalleryEntry = {\n id: 'state-tokens',\n title: 'State color tokens',\n importPath: TOKENS_IMPORT,\n usage: {\n do: [\n 'Pair -bg with -text of the same family \u2014 the shades are contrast-tested together.',\n '-icon for glyphs and dots, -border for outlines; both handle dark mode themselves.',\n ],\n dont: [\n 'Never hardcode Tailwind status colors (text-red-*, bg-green-*, text-amber-*).',\n 'No dark: overrides on status tokens \u2014 they already theme.',\n ],\n },\n figmaNodeId: FIGMA_COLORS_NODE,\n variants: [\n ...FIGMA_STATE_TO_CODE.map((family) => ({\n id: family.status,\n title: `${family.figma} \u2192 status-${family.status}`,\n render: () => <StatusFamilyPreview family={family} />,\n code: `<span className=\"${family.bg} ${family.text} ${family.border}\" />`,\n })),\n {\n id: 'feature',\n title: 'Feature \u2192 brand-violet pattern',\n render: () => (\n <div className=\"flex max-w-md items-center gap-2 rounded-md border border-brand-violet/30 bg-brand-violet/10 p-3 text-sm text-brand-violet\">\n Feature state uses the brand-violet 10/30/100 pattern, not a status family.\n </div>\n ),\n code: `<Alert status=\"feature\" />`,\n },\n ],\n}\n\nconst chartPaletteEntry: GalleryEntry = {\n id: 'chart-palette',\n title: 'Chart palette',\n importPath: TOKENS_IMPORT,\n usage: {\n dont: [\n 'Never build token class names dynamically (`bg-chart-${n}`) \u2014 the Tailwind scanner only sees complete literals, so the class is silently never generated.',\n ],\n },\n variants: [\n {\n id: 'numbered',\n title: 'numbered',\n render: () => (\n <SwatchRow\n items={[\n { tokenClass: 'bg-chart-1', label: 'chart-1' },\n { tokenClass: 'bg-chart-2', label: 'chart-2' },\n { tokenClass: 'bg-chart-3', label: 'chart-3' },\n { tokenClass: 'bg-chart-4', label: 'chart-4' },\n { tokenClass: 'bg-chart-5', label: 'chart-5' },\n ]}\n />\n ),\n code: `<BarChart data={data} />`,\n },\n {\n id: 'named',\n title: 'named',\n render: () => (\n <SwatchRow\n items={[\n { tokenClass: 'bg-chart-blue', label: 'chart-blue' },\n { tokenClass: 'bg-chart-emerald', label: 'chart-emerald' },\n { tokenClass: 'bg-chart-amber', label: 'chart-amber' },\n { tokenClass: 'bg-chart-rose', label: 'chart-rose' },\n { tokenClass: 'bg-chart-violet', label: 'chart-violet' },\n { tokenClass: 'bg-chart-cyan', label: 'chart-cyan' },\n { tokenClass: 'bg-chart-indigo', label: 'chart-indigo' },\n { tokenClass: 'bg-chart-pink', label: 'chart-pink' },\n { tokenClass: 'bg-chart-teal', label: 'chart-teal' },\n { tokenClass: 'bg-chart-orange', label: 'chart-orange' },\n ]}\n />\n ),\n code: `<Sparkline className=\"text-chart-blue\" data={points} />`,\n },\n ],\n}\n\ntype ColorRole = {\n surface: string\n onSurface: string\n surfaceCls: string\n onSurfaceCls: string\n borderCls?: string\n}\n\nfunction RoleCard({ role }: { role: ColorRole }) {\n const label = `${role.surface} / ${role.onSurface}`\n const onCopy = React.useCallback(async () => {\n try {\n await navigator.clipboard.writeText(`${role.surfaceCls} ${role.onSurfaceCls}`)\n flash(`${role.surfaceCls} ${role.onSurfaceCls} copied`, 'success')\n } catch {\n flash('Could not copy the classes', 'error')\n }\n }, [role])\n return (\n <button\n type=\"button\"\n onClick={onCopy}\n title={`Copy ${role.surfaceCls} ${role.onSurfaceCls}`}\n className={`flex h-24 w-full flex-col justify-between rounded-md border p-3 text-left transition-opacity hover:opacity-90 focus-visible:outline-none focus-visible:shadow-focus ${role.surfaceCls} ${role.onSurfaceCls} ${role.borderCls ?? 'border-border'}`}\n >\n <span className=\"text-sm font-medium leading-tight\">{role.surface}</span>\n <code className=\"text-xs opacity-80\">{role.onSurface}</code>\n </button>\n )\n}\n\nfunction RoleGrid({ roles }: { roles: ColorRole[] }) {\n return (\n <div className=\"grid w-full gap-2 sm:grid-cols-2 lg:grid-cols-3\">\n {roles.map((role) => (\n <RoleCard key={role.surface + role.onSurface} role={role} />\n ))}\n </div>\n )\n}\n\nconst colorRolesEntry: GalleryEntry = {\n id: 'color-roles',\n title: 'Color roles',\n importPath: TOKENS_IMPORT,\n figmaNodeId: FIGMA_COLORS_NODE,\n keywords: ['roles', 'pairs', 'on-color', 'material'],\n usage: {\n do: [\n 'A role is a surface paired with its content color \u2014 always use them together, never mix pairs.',\n 'Click a card to copy both classes of the pair.',\n ],\n dont: [\n 'Never put foreground on a surface from a different pair \u2014 contrast is only tested within a pair.',\n 'Never use a -foreground token as a standalone accent color.',\n ],\n },\n variants: [\n {\n id: 'action',\n title: 'action',\n render: () => (\n <RoleGrid\n roles={[\n { surface: 'primary', onSurface: 'primary-foreground', surfaceCls: 'bg-primary', onSurfaceCls: 'text-primary-foreground' },\n { surface: 'destructive', onSurface: 'white', surfaceCls: 'bg-destructive', onSurfaceCls: 'text-white' },\n { surface: 'brand-violet', onSurface: 'brand-violet-foreground', surfaceCls: 'bg-brand-violet', onSurfaceCls: 'text-brand-violet-foreground' },\n { surface: 'accent-indigo', onSurface: 'accent-indigo-foreground', surfaceCls: 'bg-accent-indigo', onSurfaceCls: 'text-accent-indigo-foreground' },\n ]}\n />\n ),\n code: `<button className=\"bg-primary text-primary-foreground\" />`,\n },\n {\n id: 'surfaces',\n title: 'surfaces',\n render: () => (\n <RoleGrid\n roles={[\n { surface: 'background', onSurface: 'foreground', surfaceCls: 'bg-background', onSurfaceCls: 'text-foreground' },\n { surface: 'card', onSurface: 'card-foreground', surfaceCls: 'bg-card', onSurfaceCls: 'text-card-foreground' },\n { surface: 'popover', onSurface: 'popover-foreground', surfaceCls: 'bg-popover', onSurfaceCls: 'text-popover-foreground' },\n { surface: 'muted', onSurface: 'muted-foreground', surfaceCls: 'bg-muted', onSurfaceCls: 'text-muted-foreground' },\n { surface: 'accent', onSurface: 'accent-foreground', surfaceCls: 'bg-accent', onSurfaceCls: 'text-accent-foreground' },\n { surface: 'sidebar', onSurface: 'sidebar-foreground', surfaceCls: 'bg-sidebar', onSurfaceCls: 'text-sidebar-foreground' },\n ]}\n />\n ),\n code: `<div className=\"bg-card text-card-foreground\" />`,\n },\n {\n id: 'status',\n title: 'status',\n render: () => (\n <RoleGrid\n roles={['error', 'success', 'warning', 'info', 'neutral', 'pink'].map((status) => ({\n surface: `status-${status}-bg`,\n onSurface: `status-${status}-text`,\n surfaceCls: `bg-status-${status}-bg`,\n onSurfaceCls: `text-status-${status}-text`,\n borderCls: `border-status-${status}-border`,\n }))}\n />\n ),\n code: `<span className=\"bg-status-error-bg text-status-error-text border-status-error-border\" />`,\n },\n ],\n}\n\nconst RADIUS_SCALE: Array<{ cls: string; label: string; px: string }> = [\n { cls: 'rounded-none', label: 'rounded-none', px: '0px' },\n { cls: 'rounded-sm', label: 'rounded-sm', px: '6px' },\n { cls: 'rounded-md', label: 'rounded-md', px: '8px' },\n { cls: 'rounded-lg', label: 'rounded-lg', px: '10px' },\n { cls: 'rounded-xl', label: 'rounded-xl', px: '16px' },\n { cls: 'rounded-full', label: 'rounded-full', px: '999px' },\n]\n\nfunction RadiusCard({ cls, label, px }: { cls: string; label: string; px: string }) {\n const onCopy = React.useCallback(async () => {\n try {\n await navigator.clipboard.writeText(label)\n flash(`${label} copied`, 'success')\n } catch {\n flash('Could not copy the class', 'error')\n }\n }, [label])\n return (\n <button\n type=\"button\"\n onClick={onCopy}\n title={`Copy ${label}`}\n className=\"flex w-36 flex-col items-start gap-2 rounded-md border border-border bg-background p-2 text-left transition-colors hover:bg-muted/40\"\n >\n <span aria-hidden className={`h-14 w-full border-2 border-dashed border-status-pink-icon bg-status-pink-bg ${cls}`} />\n <span className=\"space-y-0.5\">\n <code className=\"block text-xs text-foreground\">{label}</code>\n <span className=\"block text-xs text-muted-foreground\">{px}</span>\n </span>\n </button>\n )\n}\n\nconst radiusEntry: GalleryEntry = {\n id: 'corner-radius',\n title: 'Corner radius',\n importPath: TOKENS_IMPORT,\n keywords: ['radius', 'rounded', 'border-radius', 'corners'],\n usage: {\n do: [\n 'The scale derives from the --radius base token (10px): sm 6px, md 8px, lg 10px, xl 16px.',\n 'Cards and panels use rounded-lg; controls, chips and filter buttons use rounded-md.',\n 'rounded-full is reserved for Badge, Tag, SegmentedControl, Avatar and status dots.',\n ],\n dont: [\n 'No arbitrary values (rounded-[24px]) \u2014 pick from the scale.',\n 'No full-pill radii on filter chips or custom controls outside the reserved primitives.',\n ],\n },\n variants: [\n {\n id: 'scale',\n title: 'scale',\n render: () => (\n <div className=\"flex flex-wrap gap-2\">\n {RADIUS_SCALE.map((item) => (\n <RadiusCard key={item.cls} {...item} />\n ))}\n </div>\n ),\n code: `<div className=\"rounded-lg border border-border\" />`,\n },\n ],\n}\n\nexport const entries: GalleryEntry[] = [\n brandColorsEntry,\n colorRolesEntry,\n colorTokensEntry,\n stateTokensEntry,\n chartPaletteEntry,\n radiusEntry,\n]\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }