@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.
- package/dist/CommandPalette-GQ6SPITD.js +297 -0
- package/dist/CommandPalette-GQ6SPITD.js.map +1 -0
- package/dist/{ScheduleEditor-63TVSCJC.js → ScheduleEditor-YZPOCBTW.js} +6 -6
- package/dist/{ScheduleEditor-63TVSCJC.js.map → ScheduleEditor-YZPOCBTW.js.map} +1 -1
- package/dist/SubscriptionPage-JXJ56OOH.js +8 -0
- package/dist/{SubscriptionPage-5PJ25YAD.js.map → SubscriptionPage-JXJ56OOH.js.map} +1 -1
- package/dist/access/headless.d.ts +2 -2
- package/dist/access/limits-registry.d.ts +6 -3
- package/dist/access/limits-registry.d.ts.map +1 -1
- package/dist/app/AdminShell.d.ts.map +1 -1
- package/dist/app/admin-app.d.ts.map +1 -1
- package/dist/app/settings-tabs.store.d.ts +21 -0
- package/dist/app/settings-tabs.store.d.ts.map +1 -0
- package/dist/billing/index.js +2 -2
- package/dist/{chunk-7DFJEXCR.js → chunk-5GWUM4SM.js} +3 -3
- package/dist/{chunk-7DFJEXCR.js.map → chunk-5GWUM4SM.js.map} +1 -1
- package/dist/{chunk-ERDS4OJS.js → chunk-HYDNIBN6.js} +3 -3
- package/dist/{chunk-ERDS4OJS.js.map → chunk-HYDNIBN6.js.map} +1 -1
- package/dist/{chunk-WN6PGQSG.js → chunk-NB6X5O5L.js} +81 -10
- package/dist/chunk-NB6X5O5L.js.map +1 -0
- package/dist/{chunk-LZRLWKJ2.js → chunk-UHHEPU4A.js} +379 -88
- package/dist/chunk-UHHEPU4A.js.map +1 -0
- package/dist/{chunk-VTEP2AQX.js → chunk-WJ3H3RJN.js} +5 -3
- package/dist/chunk-WJ3H3RJN.js.map +1 -0
- package/dist/{chunk-G5PBC5OB.js → chunk-ZNV7Q2TO.js} +8 -8
- package/dist/chunk-ZNV7Q2TO.js.map +1 -0
- package/dist/components/GetStarted.d.ts +45 -0
- package/dist/components/GetStarted.d.ts.map +1 -0
- package/dist/components/RightRail.d.ts.map +1 -1
- package/dist/components/TeachMe.d.ts +83 -0
- package/dist/components/TeachMe.d.ts.map +1 -0
- package/dist/components/auth/SplitLogin.d.ts.map +1 -1
- package/dist/components/billing/SoftLimitProbes.d.ts +5 -0
- package/dist/components/billing/SoftLimitProbes.d.ts.map +1 -0
- package/dist/components/billing/SoftLimitWidget.d.ts +3 -0
- package/dist/components/billing/SoftLimitWidget.d.ts.map +1 -0
- package/dist/components/billing/index.d.ts +3 -1
- package/dist/components/billing/index.d.ts.map +1 -1
- package/dist/components/billing/soft-limit.store.d.ts +23 -0
- package/dist/components/billing/soft-limit.store.d.ts.map +1 -0
- package/dist/components/chat/ChatConversation.d.ts.map +1 -1
- package/dist/components/chat/ChatHistory.d.ts.map +1 -1
- package/dist/components/chat/ChatMessages.d.ts.map +1 -1
- package/dist/components/chat/ConfirmActionCard.d.ts +5 -1
- package/dist/components/chat/ConfirmActionCard.d.ts.map +1 -1
- package/dist/components/chat/index.d.ts +0 -1
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/connect/ConnectorRuns.d.ts +1 -1
- package/dist/components/connect/ConnectorsPanel.d.ts.map +1 -1
- package/dist/components/connect/ConnectorsTab.d.ts.map +1 -1
- package/dist/components/connect/connector-status.d.ts +1 -1
- package/dist/components/connect/model.d.ts +1 -1
- package/dist/components/layout/CommandPalette.d.ts.map +1 -1
- package/dist/components/organization/PermissionProfilesTab.d.ts.map +1 -1
- package/dist/components/settings/LocationsCrudPage.d.ts.map +1 -1
- package/dist/components/settings/SettingsPage.d.ts.map +1 -1
- package/dist/components/shared/RecordPickerModal.d.ts +24 -1
- package/dist/components/shared/RecordPickerModal.d.ts.map +1 -1
- package/dist/components/survey/PublicSurveyPage.d.ts +8 -0
- package/dist/components/survey/PublicSurveyPage.d.ts.map +1 -0
- package/dist/crud/CrudDetailPage.d.ts.map +1 -1
- package/dist/crud/CrudFormPage.d.ts.map +1 -1
- package/dist/crud/CrudListView.d.ts +3 -1
- package/dist/crud/CrudListView.d.ts.map +1 -1
- package/dist/crud/CrudPage.d.ts.map +1 -1
- package/dist/crud/CrudRecordModal.d.ts.map +1 -1
- package/dist/crud/LookupCreateInline.d.ts.map +1 -1
- package/dist/crud/RelatedListTab.d.ts +10 -0
- package/dist/crud/RelatedListTab.d.ts.map +1 -0
- package/dist/crud/archetypes/BookableToggle.d.ts +12 -0
- package/dist/crud/archetypes/BookableToggle.d.ts.map +1 -0
- package/dist/crud/archetypes/DetailTabHeader.d.ts +23 -0
- package/dist/crud/archetypes/DetailTabHeader.d.ts.map +1 -0
- package/dist/crud/archetypes/KanbanBoard.d.ts +89 -0
- package/dist/crud/archetypes/KanbanBoard.d.ts.map +1 -0
- package/dist/crud/archetypes/OrderAmount.d.ts +25 -0
- package/dist/crud/archetypes/OrderAmount.d.ts.map +1 -0
- package/dist/crud/archetypes/OrderBoardView.d.ts +61 -0
- package/dist/crud/archetypes/OrderBoardView.d.ts.map +1 -0
- package/dist/crud/archetypes/OrderCreateScreen.d.ts +116 -0
- package/dist/crud/archetypes/OrderCreateScreen.d.ts.map +1 -0
- package/dist/crud/archetypes/OrderDetailPage.d.ts +35 -0
- package/dist/crud/archetypes/OrderDetailPage.d.ts.map +1 -0
- package/dist/crud/archetypes/OrderDetailRail.d.ts +97 -0
- package/dist/crud/archetypes/OrderDetailRail.d.ts.map +1 -0
- package/dist/crud/archetypes/OrderDetailView.d.ts.map +1 -1
- package/dist/crud/archetypes/OrderFormView.d.ts +20 -1
- package/dist/crud/archetypes/OrderFormView.d.ts.map +1 -1
- package/dist/crud/archetypes/OrderListView.d.ts +59 -1
- package/dist/crud/archetypes/OrderListView.d.ts.map +1 -1
- package/dist/crud/archetypes/OrderPaymentChip.d.ts +8 -0
- package/dist/crud/archetypes/OrderPaymentChip.d.ts.map +1 -0
- package/dist/crud/archetypes/PaymentStatusBadge.d.ts +47 -0
- package/dist/crud/archetypes/PaymentStatusBadge.d.ts.map +1 -0
- package/dist/crud/archetypes/PersonDetailTabs.d.ts.map +1 -1
- package/dist/crud/archetypes/orderVocabulary.d.ts +19 -0
- package/dist/crud/archetypes/orderVocabulary.d.ts.map +1 -0
- package/dist/crud/archetypes/useOrderEditor.d.ts +20 -0
- package/dist/crud/archetypes/useOrderEditor.d.ts.map +1 -0
- package/dist/crud/archetypes/useOrderReceivable.d.ts +46 -0
- package/dist/crud/archetypes/useOrderReceivable.d.ts.map +1 -0
- package/dist/crud/archetypes/useOrdersPaymentStatus.d.ts +15 -0
- package/dist/crud/archetypes/useOrdersPaymentStatus.d.ts.map +1 -0
- package/dist/crud/createCrudPage.d.ts +3 -0
- package/dist/crud/createCrudPage.d.ts.map +1 -1
- package/dist/crud/relation-field.d.ts.map +1 -1
- package/dist/directory/AppSwitcher.d.ts +48 -0
- package/dist/directory/AppSwitcher.d.ts.map +1 -0
- package/dist/directory/FamilyWordmark.d.ts +20 -0
- package/dist/directory/FamilyWordmark.d.ts.map +1 -0
- package/dist/directory/app-id.d.ts +21 -0
- package/dist/directory/app-id.d.ts.map +1 -0
- package/dist/directory/directory.store.d.ts +20 -0
- package/dist/directory/directory.store.d.ts.map +1 -0
- package/dist/directory/index.d.ts +7 -0
- package/dist/directory/index.d.ts.map +1 -0
- package/dist/directory/types.d.ts +43 -0
- package/dist/directory/types.d.ts.map +1 -0
- package/dist/directory/useAppDirectory.d.ts +14 -0
- package/dist/directory/useAppDirectory.d.ts.map +1 -0
- package/dist/hooks/useAITools.d.ts +7 -0
- package/dist/hooks/useAITools.d.ts.map +1 -1
- package/dist/hooks/useAppConfig.d.ts.map +1 -1
- package/dist/hooks/useChat.d.ts +4 -0
- package/dist/hooks/useChat.d.ts.map +1 -1
- package/dist/hooks/useTenant.d.ts +12 -12
- package/dist/hooks/useTenant.d.ts.map +1 -1
- package/dist/index.d.ts +43 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25069 -21491
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-staff.d.ts +46 -96
- package/dist/lib/agent-staff.d.ts.map +1 -1
- package/dist/lib/ai-tool-handlers.d.ts +24 -7
- package/dist/lib/ai-tool-handlers.d.ts.map +1 -1
- package/dist/lib/assistant-invite.d.ts.map +1 -1
- package/dist/lib/bookable-service.d.ts +7 -0
- package/dist/lib/bookable-service.d.ts.map +1 -0
- package/dist/lib/core-ai-tools.d.ts +0 -17
- package/dist/lib/core-ai-tools.d.ts.map +1 -1
- package/dist/lib/fayz-agent.d.ts +2 -0
- package/dist/lib/fayz-agent.d.ts.map +1 -1
- package/dist/lib/product-name.d.ts +38 -0
- package/dist/lib/product-name.d.ts.map +1 -0
- package/dist/lib/tool-search.d.ts +82 -0
- package/dist/lib/tool-search.d.ts.map +1 -0
- package/dist/onboarding/ActivationAgentSurface.d.ts.map +1 -1
- package/dist/onboarding/ActivationChecklistCard.d.ts +11 -1
- package/dist/onboarding/ActivationChecklistCard.d.ts.map +1 -1
- package/dist/onboarding/ActivationProvider.d.ts.map +1 -1
- package/dist/onboarding/WorkspaceSetupFlow.d.ts.map +1 -1
- package/dist/onboarding/business-profile.d.ts +67 -0
- package/dist/onboarding/business-profile.d.ts.map +1 -0
- package/dist/onboarding/checklist.d.ts +10 -0
- package/dist/onboarding/checklist.d.ts.map +1 -1
- package/dist/onboarding/decide.d.ts +23 -0
- package/dist/onboarding/decide.d.ts.map +1 -1
- package/dist/onboarding/guided-runner.d.ts +11 -0
- package/dist/onboarding/guided-runner.d.ts.map +1 -1
- package/dist/onboarding/guided.d.ts +21 -1
- package/dist/onboarding/guided.d.ts.map +1 -1
- package/dist/onboarding/index.d.ts +4 -2
- package/dist/onboarding/index.d.ts.map +1 -1
- package/dist/onboarding/packs/retail.d.ts.map +1 -1
- package/dist/onboarding/programs.d.ts +25 -1
- package/dist/onboarding/programs.d.ts.map +1 -1
- package/dist/onboarding/useWorkspaceSetupGate.d.ts.map +1 -1
- package/dist/onboarding/welcome.d.ts +27 -0
- package/dist/onboarding/welcome.d.ts.map +1 -0
- package/dist/org/WorkspaceChooser.d.ts +20 -0
- package/dist/org/WorkspaceChooser.d.ts.map +1 -0
- package/dist/org/WorkspaceChooserGate.d.ts +21 -0
- package/dist/org/WorkspaceChooserGate.d.ts.map +1 -0
- package/dist/org/WorkspaceSwitching.d.ts +25 -0
- package/dist/org/WorkspaceSwitching.d.ts.map +1 -0
- package/dist/org/WorkspaceSwitchingHost.d.ts +11 -0
- package/dist/org/WorkspaceSwitchingHost.d.ts.map +1 -0
- package/dist/org/adapters/supabase.d.ts +1 -1
- package/dist/org/adapters/supabase.d.ts.map +1 -1
- package/dist/org/choice.d.ts +41 -0
- package/dist/org/choice.d.ts.map +1 -0
- package/dist/org/context.d.ts +8 -0
- package/dist/org/context.d.ts.map +1 -1
- package/dist/org/index.d.ts +12 -1
- package/dist/org/index.d.ts.map +1 -1
- package/dist/org/index.js +4 -4
- package/dist/org/self.d.ts.map +1 -1
- package/dist/org/store.d.ts +2 -1
- package/dist/org/store.d.ts.map +1 -1
- package/dist/org/switching.store.d.ts +27 -0
- package/dist/org/switching.store.d.ts.map +1 -0
- package/dist/permissions/context.d.ts +26 -0
- package/dist/permissions/context.d.ts.map +1 -1
- package/dist/permissions/index.js +1 -1
- package/dist/projects/SeuSiteWidget.d.ts.map +1 -1
- package/dist/setup/SetupAgentSurface.d.ts +2 -0
- package/dist/setup/SetupAgentSurface.d.ts.map +1 -0
- package/dist/setup/format.d.ts +21 -0
- package/dist/setup/format.d.ts.map +1 -0
- package/dist/setup/registry.d.ts +29 -0
- package/dist/setup/registry.d.ts.map +1 -0
- package/dist/setup/validate.d.ts +26 -0
- package/dist/setup/validate.d.ts.map +1 -0
- package/dist/stores/chat.store.d.ts +15 -18
- package/dist/stores/chat.store.d.ts.map +1 -1
- package/dist/stores/createCrudStore.d.ts +2 -0
- package/dist/stores/createCrudStore.d.ts.map +1 -1
- package/dist/tasks/components/TaskDetail.d.ts.map +1 -1
- package/dist/units/UnitMenuSection.d.ts.map +1 -1
- package/dist/units/UnitSwitcher.d.ts.map +1 -1
- package/dist/units/UnitSwitching.d.ts +24 -0
- package/dist/units/UnitSwitching.d.ts.map +1 -0
- package/dist/units/UnitSwitchingHost.d.ts +11 -0
- package/dist/units/UnitSwitchingHost.d.ts.map +1 -0
- package/dist/units/data.d.ts +30 -4
- package/dist/units/data.d.ts.map +1 -1
- package/dist/units/index.d.ts +2 -0
- package/dist/units/index.d.ts.map +1 -1
- package/dist/units/switching.store.d.ts +31 -0
- package/dist/units/switching.store.d.ts.map +1 -0
- package/package.json +7 -7
- package/dist/CommandPalette-XY3VOEAV.js +0 -291
- package/dist/CommandPalette-XY3VOEAV.js.map +0 -1
- package/dist/SubscriptionPage-5PJ25YAD.js +0 -8
- package/dist/chunk-G5PBC5OB.js.map +0 -1
- package/dist/chunk-LZRLWKJ2.js.map +0 -1
- package/dist/chunk-VTEP2AQX.js.map +0 -1
- package/dist/chunk-WN6PGQSG.js.map +0 -1
- package/dist/components/billing/SoftLimitBanner.d.ts +0 -5
- package/dist/components/billing/SoftLimitBanner.d.ts.map +0 -1
- package/dist/components/chat/StaffHireView.d.ts +0 -21
- package/dist/components/chat/StaffHireView.d.ts.map +0 -1
- package/dist/components/chat/StaffPitchCard.d.ts +0 -15
- package/dist/components/chat/StaffPitchCard.d.ts.map +0 -1
- package/dist/components/chat/StaffSwitcher.d.ts +0 -23
- package/dist/components/chat/StaffSwitcher.d.ts.map +0 -1
- package/dist/lib/staff-cards.d.ts +0 -11
- 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":"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"}
|
|
@@ -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":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AA8B1D,6DAA6D;AAC7D,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEtE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAmBD,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,iBAAiB,EAAE,CAAA;IAC9B,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1D,gEAAgE;IAChE,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACtC,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAA;IACtD,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,aAAa,CAAC,EAAE,eAAe,CAAA;IAC/B,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EACnF,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EACxE,aAAkB,EAAE,gBAAuB,EAAE,cAAsB,EAAE,WAAW,EAAE,MAAM,
|
|
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,
|
|
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;
|
|
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"}
|