@fayz-ai/admin 0.18.0 → 0.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/dist/CommandPalette-GQ6SPITD.js +297 -0
  2. package/dist/CommandPalette-GQ6SPITD.js.map +1 -0
  3. package/dist/{ScheduleEditor-63TVSCJC.js → ScheduleEditor-YZPOCBTW.js} +6 -6
  4. package/dist/{ScheduleEditor-63TVSCJC.js.map → ScheduleEditor-YZPOCBTW.js.map} +1 -1
  5. package/dist/SubscriptionPage-JXJ56OOH.js +8 -0
  6. package/dist/{SubscriptionPage-5PJ25YAD.js.map → SubscriptionPage-JXJ56OOH.js.map} +1 -1
  7. package/dist/access/headless.d.ts +2 -2
  8. package/dist/access/limits-registry.d.ts +6 -3
  9. package/dist/access/limits-registry.d.ts.map +1 -1
  10. package/dist/app/AdminShell.d.ts.map +1 -1
  11. package/dist/app/admin-app.d.ts.map +1 -1
  12. package/dist/app/settings-tabs.store.d.ts +21 -0
  13. package/dist/app/settings-tabs.store.d.ts.map +1 -0
  14. package/dist/billing/index.js +2 -2
  15. package/dist/{chunk-7DFJEXCR.js → chunk-5GWUM4SM.js} +3 -3
  16. package/dist/{chunk-7DFJEXCR.js.map → chunk-5GWUM4SM.js.map} +1 -1
  17. package/dist/{chunk-ERDS4OJS.js → chunk-HYDNIBN6.js} +3 -3
  18. package/dist/{chunk-ERDS4OJS.js.map → chunk-HYDNIBN6.js.map} +1 -1
  19. package/dist/{chunk-WN6PGQSG.js → chunk-NB6X5O5L.js} +81 -10
  20. package/dist/chunk-NB6X5O5L.js.map +1 -0
  21. package/dist/{chunk-LZRLWKJ2.js → chunk-UHHEPU4A.js} +379 -88
  22. package/dist/chunk-UHHEPU4A.js.map +1 -0
  23. package/dist/{chunk-VTEP2AQX.js → chunk-WJ3H3RJN.js} +5 -3
  24. package/dist/chunk-WJ3H3RJN.js.map +1 -0
  25. package/dist/{chunk-G5PBC5OB.js → chunk-ZNV7Q2TO.js} +8 -8
  26. package/dist/chunk-ZNV7Q2TO.js.map +1 -0
  27. package/dist/components/GetStarted.d.ts +45 -0
  28. package/dist/components/GetStarted.d.ts.map +1 -0
  29. package/dist/components/RightRail.d.ts.map +1 -1
  30. package/dist/components/TeachMe.d.ts +83 -0
  31. package/dist/components/TeachMe.d.ts.map +1 -0
  32. package/dist/components/auth/SplitLogin.d.ts.map +1 -1
  33. package/dist/components/billing/SoftLimitProbes.d.ts +5 -0
  34. package/dist/components/billing/SoftLimitProbes.d.ts.map +1 -0
  35. package/dist/components/billing/SoftLimitWidget.d.ts +3 -0
  36. package/dist/components/billing/SoftLimitWidget.d.ts.map +1 -0
  37. package/dist/components/billing/index.d.ts +3 -1
  38. package/dist/components/billing/index.d.ts.map +1 -1
  39. package/dist/components/billing/soft-limit.store.d.ts +23 -0
  40. package/dist/components/billing/soft-limit.store.d.ts.map +1 -0
  41. package/dist/components/chat/ChatConversation.d.ts.map +1 -1
  42. package/dist/components/chat/ChatHistory.d.ts.map +1 -1
  43. package/dist/components/chat/ChatMessages.d.ts.map +1 -1
  44. package/dist/components/chat/ConfirmActionCard.d.ts +5 -1
  45. package/dist/components/chat/ConfirmActionCard.d.ts.map +1 -1
  46. package/dist/components/chat/index.d.ts +0 -1
  47. package/dist/components/chat/index.d.ts.map +1 -1
  48. package/dist/components/connect/ConnectorRuns.d.ts +1 -1
  49. package/dist/components/connect/ConnectorsPanel.d.ts.map +1 -1
  50. package/dist/components/connect/ConnectorsTab.d.ts.map +1 -1
  51. package/dist/components/connect/connector-status.d.ts +1 -1
  52. package/dist/components/connect/model.d.ts +1 -1
  53. package/dist/components/layout/CommandPalette.d.ts.map +1 -1
  54. package/dist/components/organization/PermissionProfilesTab.d.ts.map +1 -1
  55. package/dist/components/settings/LocationsCrudPage.d.ts.map +1 -1
  56. package/dist/components/settings/SettingsPage.d.ts.map +1 -1
  57. package/dist/components/shared/RecordPickerModal.d.ts +24 -1
  58. package/dist/components/shared/RecordPickerModal.d.ts.map +1 -1
  59. package/dist/components/survey/PublicSurveyPage.d.ts +8 -0
  60. package/dist/components/survey/PublicSurveyPage.d.ts.map +1 -0
  61. package/dist/crud/CrudDetailPage.d.ts.map +1 -1
  62. package/dist/crud/CrudFormPage.d.ts.map +1 -1
  63. package/dist/crud/CrudListView.d.ts +3 -1
  64. package/dist/crud/CrudListView.d.ts.map +1 -1
  65. package/dist/crud/CrudPage.d.ts.map +1 -1
  66. package/dist/crud/CrudRecordModal.d.ts.map +1 -1
  67. package/dist/crud/LookupCreateInline.d.ts.map +1 -1
  68. package/dist/crud/RelatedListTab.d.ts +10 -0
  69. package/dist/crud/RelatedListTab.d.ts.map +1 -0
  70. package/dist/crud/archetypes/BookableToggle.d.ts +12 -0
  71. package/dist/crud/archetypes/BookableToggle.d.ts.map +1 -0
  72. package/dist/crud/archetypes/DetailTabHeader.d.ts +23 -0
  73. package/dist/crud/archetypes/DetailTabHeader.d.ts.map +1 -0
  74. package/dist/crud/archetypes/KanbanBoard.d.ts +89 -0
  75. package/dist/crud/archetypes/KanbanBoard.d.ts.map +1 -0
  76. package/dist/crud/archetypes/OrderAmount.d.ts +25 -0
  77. package/dist/crud/archetypes/OrderAmount.d.ts.map +1 -0
  78. package/dist/crud/archetypes/OrderBoardView.d.ts +61 -0
  79. package/dist/crud/archetypes/OrderBoardView.d.ts.map +1 -0
  80. package/dist/crud/archetypes/OrderCreateScreen.d.ts +116 -0
  81. package/dist/crud/archetypes/OrderCreateScreen.d.ts.map +1 -0
  82. package/dist/crud/archetypes/OrderDetailPage.d.ts +35 -0
  83. package/dist/crud/archetypes/OrderDetailPage.d.ts.map +1 -0
  84. package/dist/crud/archetypes/OrderDetailRail.d.ts +97 -0
  85. package/dist/crud/archetypes/OrderDetailRail.d.ts.map +1 -0
  86. package/dist/crud/archetypes/OrderDetailView.d.ts.map +1 -1
  87. package/dist/crud/archetypes/OrderFormView.d.ts +20 -1
  88. package/dist/crud/archetypes/OrderFormView.d.ts.map +1 -1
  89. package/dist/crud/archetypes/OrderListView.d.ts +59 -1
  90. package/dist/crud/archetypes/OrderListView.d.ts.map +1 -1
  91. package/dist/crud/archetypes/OrderPaymentChip.d.ts +8 -0
  92. package/dist/crud/archetypes/OrderPaymentChip.d.ts.map +1 -0
  93. package/dist/crud/archetypes/PaymentStatusBadge.d.ts +47 -0
  94. package/dist/crud/archetypes/PaymentStatusBadge.d.ts.map +1 -0
  95. package/dist/crud/archetypes/PersonDetailTabs.d.ts.map +1 -1
  96. package/dist/crud/archetypes/orderVocabulary.d.ts +19 -0
  97. package/dist/crud/archetypes/orderVocabulary.d.ts.map +1 -0
  98. package/dist/crud/archetypes/useOrderEditor.d.ts +20 -0
  99. package/dist/crud/archetypes/useOrderEditor.d.ts.map +1 -0
  100. package/dist/crud/archetypes/useOrderReceivable.d.ts +46 -0
  101. package/dist/crud/archetypes/useOrderReceivable.d.ts.map +1 -0
  102. package/dist/crud/archetypes/useOrdersPaymentStatus.d.ts +15 -0
  103. package/dist/crud/archetypes/useOrdersPaymentStatus.d.ts.map +1 -0
  104. package/dist/crud/createCrudPage.d.ts +3 -0
  105. package/dist/crud/createCrudPage.d.ts.map +1 -1
  106. package/dist/crud/relation-field.d.ts.map +1 -1
  107. package/dist/directory/AppSwitcher.d.ts +48 -0
  108. package/dist/directory/AppSwitcher.d.ts.map +1 -0
  109. package/dist/directory/FamilyWordmark.d.ts +20 -0
  110. package/dist/directory/FamilyWordmark.d.ts.map +1 -0
  111. package/dist/directory/app-id.d.ts +21 -0
  112. package/dist/directory/app-id.d.ts.map +1 -0
  113. package/dist/directory/directory.store.d.ts +20 -0
  114. package/dist/directory/directory.store.d.ts.map +1 -0
  115. package/dist/directory/index.d.ts +7 -0
  116. package/dist/directory/index.d.ts.map +1 -0
  117. package/dist/directory/types.d.ts +43 -0
  118. package/dist/directory/types.d.ts.map +1 -0
  119. package/dist/directory/useAppDirectory.d.ts +14 -0
  120. package/dist/directory/useAppDirectory.d.ts.map +1 -0
  121. package/dist/hooks/useAITools.d.ts +7 -0
  122. package/dist/hooks/useAITools.d.ts.map +1 -1
  123. package/dist/hooks/useAppConfig.d.ts.map +1 -1
  124. package/dist/hooks/useChat.d.ts +4 -0
  125. package/dist/hooks/useChat.d.ts.map +1 -1
  126. package/dist/hooks/useTenant.d.ts +12 -12
  127. package/dist/hooks/useTenant.d.ts.map +1 -1
  128. package/dist/index.d.ts +43 -5
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js +25069 -21491
  131. package/dist/index.js.map +1 -1
  132. package/dist/lib/agent-staff.d.ts +46 -96
  133. package/dist/lib/agent-staff.d.ts.map +1 -1
  134. package/dist/lib/ai-tool-handlers.d.ts +24 -7
  135. package/dist/lib/ai-tool-handlers.d.ts.map +1 -1
  136. package/dist/lib/assistant-invite.d.ts.map +1 -1
  137. package/dist/lib/bookable-service.d.ts +7 -0
  138. package/dist/lib/bookable-service.d.ts.map +1 -0
  139. package/dist/lib/core-ai-tools.d.ts +0 -17
  140. package/dist/lib/core-ai-tools.d.ts.map +1 -1
  141. package/dist/lib/fayz-agent.d.ts +2 -0
  142. package/dist/lib/fayz-agent.d.ts.map +1 -1
  143. package/dist/lib/product-name.d.ts +38 -0
  144. package/dist/lib/product-name.d.ts.map +1 -0
  145. package/dist/lib/tool-search.d.ts +82 -0
  146. package/dist/lib/tool-search.d.ts.map +1 -0
  147. package/dist/onboarding/ActivationAgentSurface.d.ts.map +1 -1
  148. package/dist/onboarding/ActivationChecklistCard.d.ts +11 -1
  149. package/dist/onboarding/ActivationChecklistCard.d.ts.map +1 -1
  150. package/dist/onboarding/ActivationProvider.d.ts.map +1 -1
  151. package/dist/onboarding/WorkspaceSetupFlow.d.ts.map +1 -1
  152. package/dist/onboarding/business-profile.d.ts +67 -0
  153. package/dist/onboarding/business-profile.d.ts.map +1 -0
  154. package/dist/onboarding/checklist.d.ts +10 -0
  155. package/dist/onboarding/checklist.d.ts.map +1 -1
  156. package/dist/onboarding/decide.d.ts +23 -0
  157. package/dist/onboarding/decide.d.ts.map +1 -1
  158. package/dist/onboarding/guided-runner.d.ts +11 -0
  159. package/dist/onboarding/guided-runner.d.ts.map +1 -1
  160. package/dist/onboarding/guided.d.ts +21 -1
  161. package/dist/onboarding/guided.d.ts.map +1 -1
  162. package/dist/onboarding/index.d.ts +4 -2
  163. package/dist/onboarding/index.d.ts.map +1 -1
  164. package/dist/onboarding/packs/retail.d.ts.map +1 -1
  165. package/dist/onboarding/programs.d.ts +25 -1
  166. package/dist/onboarding/programs.d.ts.map +1 -1
  167. package/dist/onboarding/useWorkspaceSetupGate.d.ts.map +1 -1
  168. package/dist/onboarding/welcome.d.ts +27 -0
  169. package/dist/onboarding/welcome.d.ts.map +1 -0
  170. package/dist/org/WorkspaceChooser.d.ts +20 -0
  171. package/dist/org/WorkspaceChooser.d.ts.map +1 -0
  172. package/dist/org/WorkspaceChooserGate.d.ts +21 -0
  173. package/dist/org/WorkspaceChooserGate.d.ts.map +1 -0
  174. package/dist/org/WorkspaceSwitching.d.ts +25 -0
  175. package/dist/org/WorkspaceSwitching.d.ts.map +1 -0
  176. package/dist/org/WorkspaceSwitchingHost.d.ts +11 -0
  177. package/dist/org/WorkspaceSwitchingHost.d.ts.map +1 -0
  178. package/dist/org/adapters/supabase.d.ts +1 -1
  179. package/dist/org/adapters/supabase.d.ts.map +1 -1
  180. package/dist/org/choice.d.ts +41 -0
  181. package/dist/org/choice.d.ts.map +1 -0
  182. package/dist/org/context.d.ts +8 -0
  183. package/dist/org/context.d.ts.map +1 -1
  184. package/dist/org/index.d.ts +12 -1
  185. package/dist/org/index.d.ts.map +1 -1
  186. package/dist/org/index.js +4 -4
  187. package/dist/org/self.d.ts.map +1 -1
  188. package/dist/org/store.d.ts +2 -1
  189. package/dist/org/store.d.ts.map +1 -1
  190. package/dist/org/switching.store.d.ts +27 -0
  191. package/dist/org/switching.store.d.ts.map +1 -0
  192. package/dist/permissions/context.d.ts +26 -0
  193. package/dist/permissions/context.d.ts.map +1 -1
  194. package/dist/permissions/index.js +1 -1
  195. package/dist/projects/SeuSiteWidget.d.ts.map +1 -1
  196. package/dist/setup/SetupAgentSurface.d.ts +2 -0
  197. package/dist/setup/SetupAgentSurface.d.ts.map +1 -0
  198. package/dist/setup/format.d.ts +21 -0
  199. package/dist/setup/format.d.ts.map +1 -0
  200. package/dist/setup/registry.d.ts +29 -0
  201. package/dist/setup/registry.d.ts.map +1 -0
  202. package/dist/setup/validate.d.ts +26 -0
  203. package/dist/setup/validate.d.ts.map +1 -0
  204. package/dist/stores/chat.store.d.ts +15 -18
  205. package/dist/stores/chat.store.d.ts.map +1 -1
  206. package/dist/stores/createCrudStore.d.ts +2 -0
  207. package/dist/stores/createCrudStore.d.ts.map +1 -1
  208. package/dist/tasks/components/TaskDetail.d.ts.map +1 -1
  209. package/dist/units/UnitMenuSection.d.ts.map +1 -1
  210. package/dist/units/UnitSwitcher.d.ts.map +1 -1
  211. package/dist/units/UnitSwitching.d.ts +24 -0
  212. package/dist/units/UnitSwitching.d.ts.map +1 -0
  213. package/dist/units/UnitSwitchingHost.d.ts +11 -0
  214. package/dist/units/UnitSwitchingHost.d.ts.map +1 -0
  215. package/dist/units/data.d.ts +30 -4
  216. package/dist/units/data.d.ts.map +1 -1
  217. package/dist/units/index.d.ts +2 -0
  218. package/dist/units/index.d.ts.map +1 -1
  219. package/dist/units/switching.store.d.ts +31 -0
  220. package/dist/units/switching.store.d.ts.map +1 -0
  221. package/package.json +7 -7
  222. package/dist/CommandPalette-XY3VOEAV.js +0 -291
  223. package/dist/CommandPalette-XY3VOEAV.js.map +0 -1
  224. package/dist/SubscriptionPage-5PJ25YAD.js +0 -8
  225. package/dist/chunk-G5PBC5OB.js.map +0 -1
  226. package/dist/chunk-LZRLWKJ2.js.map +0 -1
  227. package/dist/chunk-VTEP2AQX.js.map +0 -1
  228. package/dist/chunk-WN6PGQSG.js.map +0 -1
  229. package/dist/components/billing/SoftLimitBanner.d.ts +0 -5
  230. package/dist/components/billing/SoftLimitBanner.d.ts.map +0 -1
  231. package/dist/components/chat/StaffHireView.d.ts +0 -21
  232. package/dist/components/chat/StaffHireView.d.ts.map +0 -1
  233. package/dist/components/chat/StaffPitchCard.d.ts +0 -15
  234. package/dist/components/chat/StaffPitchCard.d.ts.map +0 -1
  235. package/dist/components/chat/StaffSwitcher.d.ts +0 -23
  236. package/dist/components/chat/StaffSwitcher.d.ts.map +0 -1
  237. package/dist/lib/staff-cards.d.ts +0 -11
  238. package/dist/lib/staff-cards.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanBoard.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/KanbanBoard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AA2B9B,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wEAAwE;IACxE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,oEAAoE;IACpE,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,KAAK,CAAC,SAAS,CAAA;IACtD,+EAA+E;IAC/E,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,MAAM,CAAA;IAC1C,+DAA+D;IAC/D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,KAAK,CAAC,SAAS,CAAA;IAC3D,yDAAyD;IACzD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;IAC7E,4DAA4D;IAC5D,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAA;IAC7C;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC1B;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sEAAsE;IACtE,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,SAAS,CAAC,EAAE,MAAM,CAAA;IAUlB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0EAA0E;IAC1E,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACjC;AAED,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EACzD,MAAe,EAAE,cAAwB,EAAE,YAAY,EAAE,cAAc,EAAE,SAAc,EACvF,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,YAA0B,EAC5F,cAAc,GACf,EAAE,gBAAgB,qBA0GlB;yBA/Ge,WAAW;;;AAkH3B,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,EACnD,SAAS,EAAE,UAAU,EAAE,YAA0B,EAAE,cAAc,EAAE,SAAc,GAClF,EAAE,eAAe,qBAsEjB;yBAzEe,UAAU"}
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ import type { OrderPaymentSummary } from './useOrdersPaymentStatus';
3
+ export interface OrderAmountProps {
4
+ value: number;
5
+ /** O estado do recebimento deste pedido, de `useOrdersPaymentStatus`. */
6
+ summary: OrderPaymentSummary | undefined;
7
+ formatCurrency: (amount: number) => string;
8
+ /** Rótulos próprios do produto, quando ele chama os estados de outra coisa. */
9
+ labels?: Partial<Record<string, string>>;
10
+ /**
11
+ * Onde o NÚMERO fica dentro do selo.
12
+ *
13
+ * `start` (padrão) põe o valor primeiro: é a ordem de quem lê um cartão ou um
14
+ * ticket, onde a cifra é o que se procura e o estado qualifica.
15
+ *
16
+ * `end` inverte, e não é gosto — é o que uma coluna de dinheiro alinhada à
17
+ * direita exige. Ali o total tem de bater com o subtotal da linha de cima, e
18
+ * a última coisa antes da borda precisa ser o algarismo. Com o valor primeiro,
19
+ * o rótulo empurrava o número para dentro e a coluna deixava de ser coluna.
20
+ */
21
+ align?: 'start' | 'end';
22
+ className?: string;
23
+ }
24
+ export declare function OrderAmount({ value, summary, formatCurrency, labels, align, className }: OrderAmountProps): React.JSX.Element;
25
+ //# sourceMappingURL=OrderAmount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderAmount.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderAmount.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAwBnE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,yEAAyE;IACzE,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAA;IACxC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C,+EAA+E;IAC/E,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,KAAe,EAAE,SAAS,EAAE,EAAE,gBAAgB,qBA0BnH"}
@@ -0,0 +1,61 @@
1
+ import * as React from 'react';
2
+ export interface OrderBoardColumn {
3
+ id: string;
4
+ label: string;
5
+ /** A tailwind background class for the dot. Purely decorative. */
6
+ color?: string;
7
+ }
8
+ export interface OrderBoardConfig<T> {
9
+ columns: OrderBoardColumn[];
10
+ /** Which column a row sits in. `null` keeps it off the board. */
11
+ columnOf: (row: T) => string | null;
12
+ /** The card. Defaults to the row's own list columns, rendered stacked. */
13
+ card?: (row: T) => React.ReactNode;
14
+ /** Offered on a card when it returns a handler; absent means no button. */
15
+ onAdvance?: (row: T) => void | Promise<void>;
16
+ /** Whether a given row can advance at all. Defaults to true when onAdvance exists. */
17
+ canAdvance?: (row: T) => boolean;
18
+ /**
19
+ * O que o botão diz. Uma função porque o passo seguinte não é o mesmo para
20
+ * todos os cartões da mesma coluna — e a palavra certa é a do PASSO, não a
21
+ * do quadro. Uma string continua valendo para o quadro cujo verbo é um só.
22
+ */
23
+ advanceLabel?: string | ((row: T) => string);
24
+ /**
25
+ * Onde o cartão VAI enquanto a escrita está no ar.
26
+ *
27
+ * `onAdvance` grava e só depois o dono da lista relê — dois round-trips em
28
+ * que o cartão fica parado no lugar de origem, e é exatamente aí que a pessoa
29
+ * clica de novo. Devolvendo a coluna de destino, o cartão se muda na hora e
30
+ * volta sozinho se a escrita falhar.
31
+ *
32
+ * Sem isto, o padrão é a PRÓXIMA coluna declarada — o que serve para um
33
+ * quadro cujas colunas seguem o fluxo, e é falso para um que pula etapas.
34
+ * Quem pula devolve a sua.
35
+ */
36
+ nextColumnOf?: (row: T) => string | null;
37
+ emptyColumn?: string;
38
+ }
39
+ export interface OrderBoardViewProps<T> {
40
+ board: OrderBoardConfig<T>;
41
+ rows: T[];
42
+ loading?: boolean;
43
+ empty: string;
44
+ onRowClick?: (row: T) => void;
45
+ rowId?: (row: T) => string;
46
+ /**
47
+ * The card that stays lit — the one whose panel is open. Pressed is not
48
+ * selected: `:active` lasts as long as the mouse button, and the operator who
49
+ * scrolls back to the board needs to see which comanda they were on.
50
+ *
51
+ * Pass it and the board follows the caller's selection; omit it entirely and
52
+ * the board remembers its own last click, which is right for a screen that
53
+ * has no selection of its own to keep.
54
+ */
55
+ selectedRowId?: string | null;
56
+ }
57
+ export declare function OrderBoardView<T>({ board, rows, loading, empty, onRowClick, rowId, selectedRowId, }: OrderBoardViewProps<T>): React.JSX.Element;
58
+ export declare namespace OrderBoardView {
59
+ var displayName: string;
60
+ }
61
+ //# sourceMappingURL=OrderBoardView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderBoardView.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderBoardView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AA0B9B,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,iEAAiE;IACjE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAA;IACnC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;IAClC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,sFAAsF;IACtF,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAA;IAChC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,CAAA;IAC5C;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAUD,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;IAC7B,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAA;IAC1B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAeD,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAChC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,GAC9D,EAAE,mBAAmB,CAAC,CAAC,CAAC,qBA4IxB;yBA9Ie,cAAc"}
@@ -0,0 +1,116 @@
1
+ import * as React from 'react';
2
+ import { type RecordPickerModalProps } from '../../components/shared/RecordPickerModal';
3
+ /** One sellable variation of an item — a size, a colour, a portion. */
4
+ export interface OrderCreateVariant {
5
+ id: string;
6
+ sku?: string | null;
7
+ price?: number | null;
8
+ options?: Record<string, unknown> | null;
9
+ }
10
+ /** A line on the order being built. */
11
+ export interface OrderCreateLine {
12
+ /** Stable across re-renders; the same item can appear twice on purpose. */
13
+ key: string;
14
+ /** The catalogue row this line sells — a product, a dish. */
15
+ itemId: string;
16
+ name: string;
17
+ sku: string | null;
18
+ imageUrl: string | null;
19
+ unitPrice: number;
20
+ quantity: number;
21
+ /** Empty when the item has one sellable form; a choice the line still owes. */
22
+ variants: OrderCreateVariant[];
23
+ variantId: string | null;
24
+ optionsLabel: string | null;
25
+ /** What the search showed, only so a stock-entry affordance can open with it. */
26
+ stock: number | null;
27
+ }
28
+ /** A row between subtotal and total: a coupon, freight, a service charge. */
29
+ export interface OrderCreateTotalRow {
30
+ key: string;
31
+ /** Plain text, or a control when the row is editable (a coupon field). */
32
+ label: React.ReactNode;
33
+ value: React.ReactNode;
34
+ muted?: boolean;
35
+ }
36
+ export interface OrderCreateItemSearch<T> {
37
+ /** Text on the closed field. */
38
+ placeholder: string;
39
+ /** Modal heading. */
40
+ title: string;
41
+ emptyLabel: string;
42
+ columns: {
43
+ product: string;
44
+ meta: string;
45
+ value: string;
46
+ };
47
+ search: (term: string) => Promise<T[]>;
48
+ rowKey: (row: T) => string;
49
+ renderRow: (row: T) => {
50
+ imageUrl?: string | null;
51
+ title: string;
52
+ subtitle?: string;
53
+ meta?: React.ReactNode;
54
+ value?: React.ReactNode;
55
+ };
56
+ /** Turn a picked row into lines. Async so variants can be fetched first. */
57
+ toLines: (rows: T[]) => Promise<OrderCreateLine[]> | OrderCreateLine[];
58
+ onRefresh?: () => void;
59
+ fromCache?: boolean;
60
+ /** Chips under the picker's search box — a menu's categories. The host owns
61
+ * the value, because the host owns `search`. See RecordPickerModal. */
62
+ filters?: RecordPickerModalProps<T>['filters'];
63
+ }
64
+ export interface OrderCreateScreenProps<T> {
65
+ title: string;
66
+ parentLabel: string;
67
+ subtitle?: string;
68
+ onBack: () => void;
69
+ /** Heading of the items card — "Produtos", "Cardápio". */
70
+ itemsTitle: string;
71
+ itemSearch: OrderCreateItemSearch<T>;
72
+ lines: OrderCreateLine[];
73
+ onLinesChange: (next: OrderCreateLine[]) => void;
74
+ formatMoney: (value: number) => string;
75
+ /** Heading of the totals card — "Pagamento", "Conta". */
76
+ totalsTitle: string;
77
+ /** Rows between subtotal and total. */
78
+ totalRows?: OrderCreateTotalRow[];
79
+ /** Added to the subtotal to make the total (freight, service charge). */
80
+ extraTotal?: number;
81
+ subtotalLabel?: string;
82
+ totalLabel?: string;
83
+ /** WHO and WHERE — the narrow column. */
84
+ sideSections?: React.ReactNode;
85
+ /** Rendered inside the totals card, under the numbers: how this order ends. */
86
+ endings?: React.ReactNode;
87
+ /** Anything that must sit over the screen — a charge modal, a stock entry. */
88
+ overlays?: React.ReactNode;
89
+ error?: string | null;
90
+ /** Links under the error that say where the fix is. */
91
+ errorActions?: React.ReactNode;
92
+ saveBar: {
93
+ dirty: boolean;
94
+ saving: boolean;
95
+ onSave: () => void;
96
+ onDiscard: () => void;
97
+ message: string;
98
+ saveLabel: string;
99
+ discardLabel: string;
100
+ };
101
+ }
102
+ export declare function OrderCreateScreen<T>({ title, parentLabel, subtitle, onBack, itemsTitle, itemSearch, lines, onLinesChange, formatMoney, totalsTitle, totalRows, extraTotal, subtotalLabel, totalLabel, sideSections, endings, overlays, error, errorActions, saveBar, }: OrderCreateScreenProps<T>): React.JSX.Element;
103
+ export declare namespace OrderCreateScreen {
104
+ var displayName: string;
105
+ }
106
+ /**
107
+ * Picking an item that is already on the order bumps its quantity.
108
+ *
109
+ * Both products did this before they shared a screen, and for the same reason:
110
+ * a second identical line beside the first is never what anyone meant by
111
+ * ticking the same dish twice. Lines that still OWE a variation are left alone
112
+ * — two of the same shirt in different sizes are two lines, and merging them
113
+ * would silently drop one of the choices.
114
+ */
115
+ export declare function mergeLines(current: OrderCreateLine[], incoming: OrderCreateLine[]): OrderCreateLine[];
116
+ //# sourceMappingURL=OrderCreateScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderCreateScreen.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderCreateScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import * as React from 'react';
2
+ import { type OrderDetailData } from './OrderDetailView';
3
+ import { type OrderDetailRailOrder } from './OrderDetailRail';
4
+ import { type OrderReceivable } from './useOrderReceivable';
5
+ export interface OrderDetailPageProps {
6
+ /** The order to show. Usually the id in the route. */
7
+ orderId: string;
8
+ /** Where "Voltar" goes. Defaults to the orders list. */
9
+ backTo?: string;
10
+ backLabel?: string;
11
+ /** Verbs for the header — cancel, print, refund. */
12
+ actions?: (order: OrderDetailRailOrder) => React.ReactNode;
13
+ /** Blocks only this product has, under the shared ones. */
14
+ extraSections?: (order: OrderDetailRailOrder) => React.ReactNode;
15
+ /**
16
+ * Verbs under the receivable — "Registrar recebimento", "Abrir no
17
+ * Financeiro". They need a writer this page does not have, so the product
18
+ * supplies them; the block itself is shared.
19
+ */
20
+ receivableActions?: (order: OrderDetailRailOrder,
21
+ /**
22
+ * O que o verbo precisa saber para escolher entre "Faturar" e "Registrar
23
+ * recebimento", e para se reler depois de escrever. Sem isto o produto
24
+ * teria de montar um segundo `useOrderReceivable` sobre o mesmo pedido — a
25
+ * mesma pergunta, duas respostas, e a de baixo cacheada.
26
+ */
27
+ context: {
28
+ receivable: OrderReceivable | null;
29
+ reload: (force?: boolean) => Promise<void>;
30
+ }) => React.ReactNode;
31
+ /** Everything above can be overridden by hand for one specific case. */
32
+ mapData?: (order: OrderDetailRailOrder, base: OrderDetailData) => OrderDetailData;
33
+ }
34
+ export declare function OrderDetailPage({ orderId, backTo, backLabel, actions, extraSections, mapData, receivableActions, }: OrderDetailPageProps): React.JSX.Element;
35
+ //# sourceMappingURL=OrderDetailPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderDetailPage.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderDetailPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAwC,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC9F,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAA;AA2B7B,MAAM,WAAW,oBAAoB;IACnC,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAA;IACf,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,KAAK,CAAC,SAAS,CAAA;IAC1D,2DAA2D;IAC3D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,KAAK,CAAC,SAAS,CAAA;IAChE;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAClB,KAAK,EAAE,oBAAoB;IAC3B;;;;;OAKG;IACH,OAAO,EAAE;QAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,KACxF,KAAK,CAAC,SAAS,CAAA;IACpB,wEAAwE;IACxE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,eAAe,KAAK,eAAe,CAAA;CAClF;AAMD,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EAAE,MAAkB,EAAE,SAAqB,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EACnF,iBAAiB,GAClB,EAAE,oBAAoB,qBAyFtB"}
@@ -0,0 +1,97 @@
1
+ import * as React from 'react';
2
+ export interface OrderDetailRailOrder {
3
+ id: string;
4
+ referenceNumber: string;
5
+ kind?: string;
6
+ channel?: string;
7
+ status?: string;
8
+ partyName?: string;
9
+ notes?: string;
10
+ currency: string;
11
+ subtotal: number;
12
+ discount: number;
13
+ tax: number;
14
+ total: number;
15
+ createdAt?: string;
16
+ items: Array<{
17
+ id: string;
18
+ name: string;
19
+ quantity: number;
20
+ unitPrice: number;
21
+ total: number;
22
+ imageUrl?: string | null;
23
+ }>;
24
+ }
25
+ /**
26
+ * A verb the panel offers for this order.
27
+ *
28
+ * Given as a function OF the order, not a fixed list: whether cancelling is on
29
+ * the table depends on what state the order is in, and a host that has to
30
+ * disable a button it always renders ends up rendering buttons that are never
31
+ * enabled.
32
+ */
33
+ export interface OrderRailAction {
34
+ id: string;
35
+ label: string;
36
+ onSelect: (order: OrderDetailRailOrder) => void | Promise<void>;
37
+ variant?: 'default' | 'outline' | 'destructive';
38
+ /** Asked in a ConfirmDialog before running. For the ones you cannot undo. */
39
+ confirm?: string;
40
+ disabled?: boolean;
41
+ /**
42
+ * Stay in the panel and re-read the order instead of closing it.
43
+ *
44
+ * Closing is right for a verb that ENDS the order — cancelling it, or opening
45
+ * something else. It is wrong for one that moves it along: advancing a
46
+ * comanda and having the panel vanish gives you no way to see that the status
47
+ * you asked for is the status it now has, and the next step is usually the
48
+ * one right after it.
49
+ */
50
+ keepOpen?: boolean;
51
+ }
52
+ export interface OrderDetailRailProps {
53
+ /** The order to show. `null` keeps the column shut. */
54
+ orderId: string | null;
55
+ onClose: () => void;
56
+ /** Where this product keeps the full order page. Omitted hides the button. */
57
+ fullPageHref?: (orderId: string) => string;
58
+ /** Panel heading. Defaults to the order's reference once it loads. */
59
+ title?: string;
60
+ /**
61
+ * Product-specific blocks — kitchen state, delivery, payment — under the total.
62
+ *
63
+ * `reload` re-reads the order into the panel. A block that WRITES needs it:
64
+ * launching an item on an open comanda changes the very lines and total drawn
65
+ * above the block, and without it the waiter adds a beer and watches the
66
+ * panel keep the old total until they close and reopen it.
67
+ */
68
+ children?: (order: OrderDetailRailOrder, reload: () => void) => React.ReactNode;
69
+ /**
70
+ * The word to print on the status chip.
71
+ *
72
+ * `order.status` is `orders.status` AS STORED, and a product does not have to
73
+ * show that word — the restaurant's board status is DERIVED from the document
74
+ * status plus what the kitchen did to the lines, so a comanda reads `confirmed`
75
+ * here while the board it came from says "Preparando". Two names for one state,
76
+ * side by side, and the panel is the one that looks wrong.
77
+ *
78
+ * The host knows which word it shows, so the host supplies it.
79
+ */
80
+ statusLabel?: (order: OrderDetailRailOrder) => string | undefined;
81
+ /** Same, for the two vocabulary chips beside it (`dine_in`, `balcao`). */
82
+ kindLabel?: (order: OrderDetailRailOrder) => string | undefined;
83
+ channelLabel?: (order: OrderDetailRailOrder) => string | undefined;
84
+ /** Verbs for this order, shown in the footer beside "Ver pedido completo". */
85
+ actions?: (order: OrderDetailRailOrder) => OrderRailAction[];
86
+ /** Ran after an action resolves — the host reloads its list. */
87
+ onActionDone?: () => void;
88
+ }
89
+ export declare function useOrderDetail(orderId: string | null): {
90
+ order: OrderDetailRailOrder | null;
91
+ loading: boolean;
92
+ error: string | null;
93
+ /** Re-read the order. For a verb that changed it and left the panel open. */
94
+ reload: () => void;
95
+ };
96
+ export declare function OrderDetailRail({ orderId, onClose, fullPageHref, title, children, actions, onActionDone, statusLabel, kindLabel, channelLabel, }: OrderDetailRailProps): React.JSX.Element;
97
+ //# sourceMappingURL=OrderDetailRail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderDetailRail.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderDetailRail.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderDetailView.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderDetailView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderDetailView.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderDetailView.tsx"],"names":[],"mappings":"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"}
@@ -59,15 +59,34 @@ export interface OrderFormItemRowProps extends OrderFormItemValue {
59
59
  * é o plugin, e é ele que passa os campos por aqui.
60
60
  */
61
61
  extraFields?: React.ReactNode;
62
+ /**
63
+ * Campos opcionais da linha, cada um atrás do seu próprio "+ rótulo" — o
64
+ * mesmo caminho do desconto, e pela mesma razão: a maioria das linhas não
65
+ * preenche nenhum deles, e campo vazio em toda linha vira ruído.
66
+ *
67
+ * Um grupo por campo, não um por bloco: quem quer só o centro de custo não
68
+ * deveria ter que abrir o plano de contas junto.
69
+ */
70
+ extraFieldGroups?: OrderFormExtraFieldGroup[];
62
71
  labels?: Partial<OrderFormItemLabels>;
63
72
  }
73
+ export interface OrderFormExtraFieldGroup {
74
+ id: string;
75
+ /** O texto do "+". */
76
+ label: string;
77
+ /** Já vem preenchido? Então nasce aberto, como o desconto já faz. */
78
+ filled?: boolean;
79
+ field: React.ReactNode;
80
+ /** O "x" que limpa e fecha. Sem ele o campo aberto não tem como sair. */
81
+ onClear?: () => void;
82
+ }
64
83
  /**
65
84
  * A linha do documento: fechada é uma linha de extrato (nº, tipo, descrição,
66
85
  * qtd × preço, total); aberta é o formulário dela. Era código copiado entre o
67
86
  * orçamento e a fatura, com as duas cópias já divergindo em detalhes (a fatura
68
87
  * commitava a linha no Enter, o orçamento não).
69
88
  */
70
- export declare function OrderFormItemRow({ index, itemKind, description, quantity, unitPrice, discount, surcharge, referenceId, itemTypes, currency, formatMoney, expanded, onToggle, onChange, onRemove, entityLookups, showTypeSelector, allowSurcharge, extraFields, labels, }: OrderFormItemRowProps): React.JSX.Element;
89
+ export declare function OrderFormItemRow({ index, itemKind, description, quantity, unitPrice, discount, surcharge, referenceId, itemTypes, currency, formatMoney, expanded, onToggle, onChange, onRemove, entityLookups, showTypeSelector, allowSurcharge, extraFields, labels, extraFieldGroups, }: OrderFormItemRowProps): React.JSX.Element;
71
90
  export declare namespace OrderFormItemRow {
72
91
  var displayName: string;
73
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OrderFormView.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderFormView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderFormView.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderFormView.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { type HeaderTab } from '@fayz-ai/ui';
3
+ import { type OrderBoardConfig } from './OrderBoardView';
3
4
  export interface OrderListColumn<T> {
4
5
  key: string;
5
6
  header: string;
@@ -44,7 +45,64 @@ export interface OrderListViewProps<T> {
44
45
  bulkActions?: OrderBulkAction<T>[];
45
46
  /** Row identity for the selection. Defaults to `row.id`. */
46
47
  rowId?: (row: T) => string;
48
+ /** The row whose panel is open — the board keeps that card lit. */
49
+ selectedRowId?: string | null;
50
+ /**
51
+ * Which views this screen offers. Omitted means LIST ONLY, which is exactly
52
+ * today's behaviour — every existing caller is untouched by this landing.
53
+ */
54
+ views?: OrderView[];
55
+ /**
56
+ * Which one opens. Defaults to 'list' EVERYWHERE, including the restaurant: a
57
+ * board is a during-service view, and a list is how an order is looked up,
58
+ * audited and reconciled — and the only one of the two that scales past a
59
+ * screenful.
60
+ */
61
+ defaultView?: OrderView;
62
+ /** The board's columns and how a row maps onto them. Required for 'board'. */
63
+ board?: OrderBoardConfig<T>;
64
+ /**
65
+ * Named boards, keyed by the id used in `views`. Each brings its own columns
66
+ * AND its own `columnOf`, which is what lets a board show only the orders it
67
+ * is about — `columnOf` returning null keeps a row off it.
68
+ */
69
+ boards?: Record<string, {
70
+ label: string;
71
+ /** As colunas do quadro. Ou isto, ou `render` — nunca os dois. */
72
+ config?: OrderBoardConfig<T>;
73
+ /**
74
+ * A vista desenhada pelo próprio host, para o que NÃO é um quadro.
75
+ *
76
+ * O salão de um restaurante é o caso: a planta com as mesas é a mesma
77
+ * pergunta ("o que está acontecendo agora?") respondida por lugar em vez
78
+ * de por estado, e no V1 ela é metade da tela de Pedidos. Ela não cabe em
79
+ * `columnOf` — não há coluna nenhuma —, e sem esta costura o host teria de
80
+ * montar uma segunda tela e uma segunda faixa de abas para ela, que é
81
+ * exatamente a inconsistência que a faixa única resolveu.
82
+ */
83
+ render?: () => React.ReactNode;
84
+ /** O ícone da aba. Sem um, cai no quadrado genérico do quadro. */
85
+ icon?: React.ComponentType<{
86
+ className?: string;
87
+ }>;
88
+ }>;
89
+ /**
90
+ * Identifies this screen for the remembered choice. The switch is remembered
91
+ * per USER per SCREEN (localStorage) and never per tenant: which view suits
92
+ * you is about the job you are doing, not about the business you work for.
93
+ */
94
+ viewKey?: string;
47
95
  }
96
+ /**
97
+ * `list`, `board`, or the id of a NAMED board declared in `boards`.
98
+ *
99
+ * One board was enough while every order ended the same way. It is not: a
100
+ * comanda de salão is served and then billed, and a delivery leaves and is
101
+ * delivered — same screen, two tails, and forcing them into one column strip
102
+ * put every comanda under "Saiu", a word for something that never happens in a
103
+ * salão. Named boards let one screen offer Lista · Salão · Delivery.
104
+ */
105
+ export type OrderView = string;
48
106
  export interface OrderBulkAction<T> {
49
107
  id: string;
50
108
  label: string;
@@ -57,7 +115,7 @@ export interface OrderBulkAction<T> {
57
115
  overflow?: boolean;
58
116
  disabled?: boolean;
59
117
  }
60
- export declare function OrderListView<T>({ title: _title, subtitle, actions, stats, columns, rows, loading, empty, onRowClick, navTabs, activeNavTab, onNavTabChange, searchText, searchPlaceholder, pageSize, bulkActions, rowId, }: OrderListViewProps<T>): React.JSX.Element;
118
+ export declare function OrderListView<T>({ title: _title, subtitle, actions, stats, columns, rows, loading, empty, onRowClick, navTabs, activeNavTab, onNavTabChange, searchText, searchPlaceholder, pageSize, bulkActions, rowId, selectedRowId, views, defaultView, board, boards, viewKey, }: OrderListViewProps<T>): React.JSX.Element;
61
119
  export declare namespace OrderListView {
62
120
  var displayName: string;
63
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OrderListView.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderListView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAsH,KAAK,SAAS,EAAqB,MAAM,aAAa,CAAA;AAoBnL,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACxB,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAA;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACnD;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;gFAE4E;IAC5E,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;IACrB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAA;IACvB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7B,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;IAC7B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAA;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IAClC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAClD,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAG/B,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAClF,OAAO,EAAE,YAAY,EAAE,cAAc,EACrC,UAAU,EAAE,iBAAiB,EAAE,QAAa,EAC5C,WAAW,EAAE,KAAK,GACnB,EAAE,kBAAkB,CAAC,CAAC,CAAC,qBAmIvB;yBA1Ie,aAAa"}
1
+ {"version":3,"file":"OrderListView.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderListView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import type { OrderPaymentSummary } from './useOrdersPaymentStatus';
3
+ export interface OrderPaymentChipProps {
4
+ summary: OrderPaymentSummary | undefined;
5
+ formatCurrency: (amount: number) => string;
6
+ }
7
+ export declare function OrderPaymentChip({ summary, formatCurrency }: OrderPaymentChipProps): React.JSX.Element | null;
8
+ //# sourceMappingURL=OrderPaymentChip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderPaymentChip.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/OrderPaymentChip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAqBnE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAA;IACxC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;CAC3C;AAED,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,qBAAqB,4BAWlF"}
@@ -0,0 +1,47 @@
1
+ import React from 'react';
2
+ /** Os estados que uma conta pode ter, do ponto de vista de quem cobra. */
3
+ export type PaymentStatus = 'none' | 'pending' | 'partial' | 'paid' | 'overdue' | 'cancelled';
4
+ /** Mesmo vocabulario de `useOrderReceivable`, para os dois lados dizerem o mesmo. */
5
+ export declare const PAYMENT_STATUS_LABEL: Record<PaymentStatus, string>;
6
+ /** Uma baixa já registrada: como, quando, quanto. */
7
+ export interface PaymentDetailLine {
8
+ label: string;
9
+ date?: string | null;
10
+ amount: number;
11
+ }
12
+ /** As cores de cada estado, para quem desenha o mesmo fato noutra forma
13
+ * (ver OrderAmount, que funde valor e estado num selo só). */
14
+ export declare const PAYMENT_STATUS_CONFIG: Record<PaymentStatus, {
15
+ dot: string;
16
+ text: string;
17
+ bg: string;
18
+ icon: React.ElementType;
19
+ }>;
20
+ export interface PaymentStatusBadgeProps {
21
+ status: PaymentStatus;
22
+ /** Rotulos por estado. A agenda passa os traduzidos dela; o resto usa o padrao. */
23
+ labels?: Partial<Record<PaymentStatus, string>>;
24
+ totalAmount?: number;
25
+ paidAmount?: number;
26
+ formatCurrency?: (amount: number) => string;
27
+ onClick?: () => void;
28
+ compact?: boolean;
29
+ /**
30
+ * Como e quando foi pago, carregado SÓ quando o cartão abre.
31
+ *
32
+ * Mesma ideia do PersonLink: quem passa o mouse quer a forma e a data sem
33
+ * abrir a fatura noutra tela. Carregar por baixo de cada selo faria uma fila
34
+ * de vinte linhas disparar vinte consultas para desenhar vinte selos.
35
+ *
36
+ * O selo continua funcionando sem isto — aí ele é só o selo.
37
+ */
38
+ onLoadDetails?: () => Promise<PaymentDetailLine[]>;
39
+ /** Cobrar a partir do cartão, quando ainda há saldo. */
40
+ onReceive?: () => void;
41
+ receiveLabel?: string;
42
+ /** Abrir a conta do cliente. Quitado não se cobra, mas ainda se confere: o
43
+ * botão troca de "Receber" para "Ver detalhes" em vez de sumir. */
44
+ onOpenDetails?: () => void;
45
+ }
46
+ export declare function PaymentStatusBadge({ status, labels, totalAmount, paidAmount, formatCurrency, onClick, compact, onLoadDetails, onReceive, receiveLabel, onOpenDetails, }: PaymentStatusBadgeProps): React.JSX.Element;
47
+ //# sourceMappingURL=PaymentStatusBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentStatusBadge.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/PaymentStatusBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAqBzB,0EAA0E;AAC1E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;AAE7F,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAO9D,CAAA;AAED,qDAAqD;AACrD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;+DAC+D;AAC/D,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,aAAa,EAAE;IACxD,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,KAAK,CAAC,WAAW,CAAA;CACxB,CAOA,CAAA;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,aAAa,CAAA;IACrB,mFAAmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;IAC3C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAClD,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;wEACoE;IACpE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;CAC3B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EACzE,aAAa,EAAE,SAAS,EAAE,YAAwB,EAAE,aAAa,GAClE,EAAE,uBAAuB,qBAmGzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"PersonDetailTabs.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/PersonDetailTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAsB3D,wBAAgB,WAAW,sBAS1B;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,qBA4BpD;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,4BAiBpD;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,qBAgBlD;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;IAe9B,CAAA"}
1
+ {"version":3,"file":"PersonDetailTabs.d.ts","sourceRoot":"","sources":["../../../src/crud/archetypes/PersonDetailTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAsB3D,wBAAgB,WAAW,sBAS1B;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,qBA4BpD;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,4BAiBpD;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,qBAmBlD;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;IAe9B,CAAA"}