@fayz-ai/pos 0.23.3 → 0.24.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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +109 -9
- package/dist/index.js.map +1 -1
- package/dist/screen/ConnectionStatus.d.ts +19 -0
- package/dist/screen/ConnectionStatus.d.ts.map +1 -0
- package/dist/screen/DispatchRail.d.ts +4 -1
- package/dist/screen/DispatchRail.d.ts.map +1 -1
- package/dist/screen/PosScreen.d.ts +11 -2
- package/dist/screen/PosScreen.d.ts.map +1 -1
- package/dist/styles.css +56 -1
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The PDV's connection, as the operator reads it: a dot and a word under their
|
|
3
|
+
* name, and — on hover, focus or tap — a card that says what the state means
|
|
4
|
+
* for the sale in front of them, when it was last checked, and a way to check
|
|
5
|
+
* again. The host decides the state (control-app reads @fayz-ai/admin's
|
|
6
|
+
* useBackendConnectionDetail); this only draws it, in the PDV's own tokens.
|
|
7
|
+
*/
|
|
8
|
+
export interface PosConnectionStatus {
|
|
9
|
+
tone: 'ok' | 'warn' | 'danger' | 'muted';
|
|
10
|
+
label: string;
|
|
11
|
+
detail: string;
|
|
12
|
+
/** When the last check finished (ms epoch); null before the first. */
|
|
13
|
+
checkedAt: number | null;
|
|
14
|
+
onRecheck?: () => void;
|
|
15
|
+
}
|
|
16
|
+
export declare function ConnectionStatus({ status }: {
|
|
17
|
+
status: PosConnectionStatus;
|
|
18
|
+
}): import("react").JSX.Element;
|
|
19
|
+
//# sourceMappingURL=ConnectionStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionStatus.d.ts","sourceRoot":"","sources":["../../src/screen/ConnectionStatus.tsx"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAUD,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,+BAwD3E"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import type { PosPosition } from '../app/config';
|
|
3
3
|
import type { Ticket, TicketTotals } from './session';
|
|
4
|
-
export declare function DispatchRail({ order, ticket, totals, onAdvance, onCancel, onCloseDetails, now, open, containerRef, extra, carrier, }: {
|
|
4
|
+
export declare function DispatchRail({ order, ticket, totals, onAdvance, onCancel, onCloseDetails, now, open, containerRef, extra, carrier, waiting, }: {
|
|
5
5
|
order: PosPosition;
|
|
6
6
|
ticket: Ticket;
|
|
7
7
|
totals: TicketTotals;
|
|
@@ -23,5 +23,8 @@ export declare function DispatchRail({ order, ticket, totals, onAdvance, onCance
|
|
|
23
23
|
label: string;
|
|
24
24
|
note: string;
|
|
25
25
|
} | null;
|
|
26
|
+
/** A step sent to the channel and not confirmed yet: its label, shown on a
|
|
27
|
+
* spinning, disabled button while every other action waits. */
|
|
28
|
+
waiting?: string | null;
|
|
26
29
|
}): React.JSX.Element;
|
|
27
30
|
//# sourceMappingURL=DispatchRail.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DispatchRail.d.ts","sourceRoot":"","sources":["../../src/screen/DispatchRail.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGrD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"DispatchRail.d.ts","sourceRoot":"","sources":["../../src/screen/DispatchRail.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGrD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAC7G,EAAE;IACD,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IACpB,SAAS,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,CAAA;IAC7D,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3B,iGAAiG;IACjG,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAChD;oEACgE;IAChE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB,qBAyKA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
2
|
import { type TablePatch } from './TableInspector';
|
|
3
|
+
import { type PosConnectionStatus } from './ConnectionStatus';
|
|
3
4
|
import type { DispatchStatus, PosAppConfig, PosCategory, PosItem, PosPosition, PosReservation, PosStaff } from '../app/config';
|
|
4
5
|
import { type Ticket, type TicketGuest, type TicketLine, type TicketTotals } from './session';
|
|
5
6
|
import type { PaymentRow } from './paymentList';
|
|
@@ -122,6 +123,12 @@ export interface PosScreenProps {
|
|
|
122
123
|
*/
|
|
123
124
|
operatorId?: string;
|
|
124
125
|
connection?: 'online' | 'reconnecting' | 'offline';
|
|
126
|
+
/**
|
|
127
|
+
* The connection as words and a card (see ConnectionStatus). When given it
|
|
128
|
+
* replaces the bare dot under the operator's name; `connection` stays for
|
|
129
|
+
* hosts that only know the three states.
|
|
130
|
+
*/
|
|
131
|
+
connectionStatus?: PosConnectionStatus;
|
|
125
132
|
/**
|
|
126
133
|
* The rail item to open on (a menu id). A host that puts the tab in the
|
|
127
134
|
* address passes it from there, so a refresh or a deep link lands where the
|
|
@@ -343,7 +350,9 @@ export interface PosScreenProps {
|
|
|
343
350
|
*/
|
|
344
351
|
onCloseBill?: (positionId: string, bill: PosBill) => boolean | void | Promise<boolean | void>;
|
|
345
352
|
/** A delivery order moved down the board. */
|
|
346
|
-
|
|
353
|
+
/** A promise makes the rail wait for the channel's confirmation before the
|
|
354
|
+
* card moves; resolving `false` (or rejecting) leaves the order where it was. */
|
|
355
|
+
onDispatch?: (positionId: string, to: DispatchStatus) => void | Promise<void | boolean>;
|
|
347
356
|
/** What the app adds to a delivery order's rail (a marketplace's details, a courier). */
|
|
348
357
|
renderDispatchExtra?: (position: PosPosition, ticket: Ticket) => React.ReactNode;
|
|
349
358
|
/**
|
|
@@ -501,5 +510,5 @@ export interface PosScreenProps {
|
|
|
501
510
|
/** Injected in tests so elapsed times are not wall-clock dependent. */
|
|
502
511
|
now?: number;
|
|
503
512
|
}
|
|
504
|
-
export declare function PosScreen({ config, categories, items, positions, staff, reservations, terminalName, operatorName, waitlist, onWaitlistAdd, onWaitlistCall, onWaitlistSeat, onWaitlistNoShow, onWaitlistLookupPhone, onReservationArrived, connection, initialMenuId, onMenuChange, operatorId, onAction, onOpenPosition, onFire, onCloseBill, onDispatch, renderDispatchExtra, dispatchCarrier, verifyPin, onAuthorised, actionGate, onDiscardTicket, initialTickets, notice: appNotice, cashOpen, floorStale, onRetryFloor, brandMark, brandName, className, theme, style, railTop, parties, sharedLabel, paidByPosition, serviceChargeByPosition, floorTool, shiftMode, onPickTarget, onCloseShift, registerEscape, onMoveTable: onMoveTableProp, onUpdateTable, onCreateZone, onUpdateZone, onTogglaMesaNaPraca, onDeleteZone, onArrange, onUpdateArea, floorScope, onConfigureTables, closedTickets, closedLoading, closedSeals, closedSealsFailed, onOpenClosed, onReopenClosed, railPanel, coversByPosition, onEditCover, paymentsByPosition, onEditGuestCount, onActivatePosition, onIdentify, onAddGuest, onIdentifyGuest, onRemoveGuest, onLookupPhone, unitSwitcher, loading, menuFetchedAt, menuRefreshing, menuStale, onRefreshMenu, now, }: PosScreenProps): import("react").JSX.Element;
|
|
513
|
+
export declare function PosScreen({ config, categories, items, positions, staff, reservations, terminalName, operatorName, waitlist, onWaitlistAdd, onWaitlistCall, onWaitlistSeat, onWaitlistNoShow, onWaitlistLookupPhone, onReservationArrived, connection, connectionStatus, initialMenuId, onMenuChange, operatorId, onAction, onOpenPosition, onFire, onCloseBill, onDispatch, renderDispatchExtra, dispatchCarrier, verifyPin, onAuthorised, actionGate, onDiscardTicket, initialTickets, notice: appNotice, cashOpen, floorStale, onRetryFloor, brandMark, brandName, className, theme, style, railTop, parties, sharedLabel, paidByPosition, serviceChargeByPosition, floorTool, shiftMode, onPickTarget, onCloseShift, registerEscape, onMoveTable: onMoveTableProp, onUpdateTable, onCreateZone, onUpdateZone, onTogglaMesaNaPraca, onDeleteZone, onArrange, onUpdateArea, floorScope, onConfigureTables, closedTickets, closedLoading, closedSeals, closedSealsFailed, onOpenClosed, onReopenClosed, railPanel, coversByPosition, onEditCover, paymentsByPosition, onEditGuestCount, onActivatePosition, onIdentify, onAddGuest, onIdentifyGuest, onRemoveGuest, onLookupPhone, unitSwitcher, loading, menuFetchedAt, menuRefreshing, menuStale, onRefreshMenu, now, }: PosScreenProps): import("react").JSX.Element;
|
|
505
514
|
//# sourceMappingURL=PosScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PosScreen.d.ts","sourceRoot":"","sources":["../../src/screen/PosScreen.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAiE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAYrG,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"PosScreen.d.ts","sourceRoot":"","sources":["../../src/screen/PosScreen.tsx"],"names":[],"mappings":"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"}
|
package/dist/styles.css
CHANGED
|
@@ -2748,6 +2748,58 @@
|
|
|
2748
2748
|
.pos-user[data-state='offline'] .pos-user__dot { background: var(--pos-danger); }
|
|
2749
2749
|
/* Losing the network is the one thing worth shouting about from the rail. */
|
|
2750
2750
|
.pos-user[data-state='offline'] { color: var(--pos-danger); }
|
|
2751
|
+
/* The connection, readable under the name: a dot with a halo and a word,
|
|
2752
|
+
and a card above it on hover/focus/tap (screen/ConnectionStatus.tsx). */
|
|
2753
|
+
.pos-user__term { font-weight: 500; color: var(--pos-fg-3); }
|
|
2754
|
+
.pos-conn { position: relative; display: inline-flex; min-width: 0; }
|
|
2755
|
+
.pos-conn__chip {
|
|
2756
|
+
display: inline-flex; align-items: center; gap: 6px; max-width: 100%;
|
|
2757
|
+
margin: 2px 0 0 -4px; padding: 2px 6px 2px 4px; border: none; border-radius: var(--pos-r-round);
|
|
2758
|
+
background: transparent; color: var(--pos-fg-2); font: inherit; font-size: 11.5px; font-weight: 600;
|
|
2759
|
+
line-height: 1.3; cursor: pointer; text-align: left;
|
|
2760
|
+
transition: background var(--pos-t) var(--pos-e);
|
|
2761
|
+
}
|
|
2762
|
+
.pos-conn__chip:hover, .pos-conn__chip:focus-visible, .pos-conn__chip[aria-expanded='true'] { background: var(--pos-3); outline: none; }
|
|
2763
|
+
.pos-conn__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
2764
|
+
.pos-conn__dot {
|
|
2765
|
+
width: 8px; height: 8px; flex: none; border-radius: var(--pos-r-round); background: var(--pos-ok);
|
|
2766
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--pos-ok) 22%, transparent);
|
|
2767
|
+
}
|
|
2768
|
+
.pos-conn[data-tone='ok'] .pos-conn__chip { color: var(--pos-ok); }
|
|
2769
|
+
.pos-conn[data-tone='warn'] .pos-conn__dot { background: var(--pos-warn); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pos-warn) 25%, transparent); }
|
|
2770
|
+
.pos-conn[data-tone='warn'] .pos-conn__chip { color: var(--pos-warn); }
|
|
2771
|
+
.pos-conn[data-tone='danger'] .pos-conn__dot {
|
|
2772
|
+
background: var(--pos-danger); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pos-danger) 30%, transparent);
|
|
2773
|
+
animation: pos-conn-pulse 1.4s ease-in-out infinite;
|
|
2774
|
+
}
|
|
2775
|
+
.pos-conn[data-tone='danger'] .pos-conn__chip { color: var(--pos-danger); }
|
|
2776
|
+
.pos-conn[data-tone='muted'] .pos-conn__dot { background: var(--pos-fg-3); box-shadow: none; }
|
|
2777
|
+
@keyframes pos-conn-pulse { 50% { opacity: 0.45; } }
|
|
2778
|
+
@media (prefers-reduced-motion: reduce) { .pos-conn[data-tone='danger'] .pos-conn__dot { animation: none; } }
|
|
2779
|
+
.pos-conn__card {
|
|
2780
|
+
position: absolute; left: -8px; bottom: calc(100% + 10px); z-index: 30;
|
|
2781
|
+
display: flex; flex-direction: column; gap: 6px; width: 248px; padding: 12px 14px;
|
|
2782
|
+
border: 1px solid var(--pos-line); border-radius: 10px;
|
|
2783
|
+
background: var(--pos-2); color: var(--pos-fg); box-shadow: 0 10px 30px var(--pos-shadow);
|
|
2784
|
+
font-size: 12.5px; line-height: 1.4; white-space: normal;
|
|
2785
|
+
}
|
|
2786
|
+
.pos-conn__card::after {
|
|
2787
|
+
content: ''; position: absolute; left: 18px; bottom: -6px; width: 10px; height: 10px;
|
|
2788
|
+
background: var(--pos-2); border-right: 1px solid var(--pos-line); border-bottom: 1px solid var(--pos-line);
|
|
2789
|
+
transform: rotate(45deg);
|
|
2790
|
+
}
|
|
2791
|
+
.pos-conn__title { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; }
|
|
2792
|
+
.pos-conn__detail { color: var(--pos-fg-2); }
|
|
2793
|
+
.pos-conn__foot {
|
|
2794
|
+
display: flex; align-items: center; justify-content: space-between; gap: 8px;
|
|
2795
|
+
padding-top: 6px; border-top: 1px solid var(--pos-line); color: var(--pos-fg-3); font-size: 11.5px;
|
|
2796
|
+
}
|
|
2797
|
+
.pos-conn__retry {
|
|
2798
|
+
display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border: 1px solid var(--pos-line);
|
|
2799
|
+
border-radius: var(--pos-r-round); background: transparent; color: var(--pos-fg-2); font: inherit; font-size: 11.5px;
|
|
2800
|
+
font-weight: 600; cursor: pointer;
|
|
2801
|
+
}
|
|
2802
|
+
.pos-conn__retry:hover { background: var(--pos-3); color: var(--pos-fg); }
|
|
2751
2803
|
.pos-user__act {
|
|
2752
2804
|
flex: none; width: 30px; height: 30px; display: grid; place-items: center;
|
|
2753
2805
|
border: none; border-radius: var(--pos-r-sm); background: transparent;
|
|
@@ -4616,9 +4668,12 @@
|
|
|
4616
4668
|
Miúda e apagada como no V1: ela explica, não compete com as colunas. */
|
|
4617
4669
|
/* The legend and the history toggle share one line above the columns. */
|
|
4618
4670
|
.pos-board__bar {
|
|
4619
|
-
display: flex; align-items: center; justify-content:
|
|
4671
|
+
display: flex; align-items: center; justify-content: flex-start; gap: var(--pos-3x);
|
|
4620
4672
|
margin: 0 var(--pos-3x) var(--pos-2x);
|
|
4621
4673
|
}
|
|
4674
|
+
/* With the details folded the board reaches the screen's top-right corner,
|
|
4675
|
+
where the shell floats its own controls (status, exit): keep clear of them. */
|
|
4676
|
+
.pos-body[data-details='closed'] .pos-board__bar { padding-right: 112px; }
|
|
4622
4677
|
.pos-board__bar .pos-board__note { margin: 0; }
|
|
4623
4678
|
.pos-board__bar .pos-pill { cursor: pointer; flex: none; }
|
|
4624
4679
|
.pos-board__bar .pos-pill[aria-pressed='true'] { color: var(--pos-fg); border-color: var(--pos-fg-3); }
|