@fayz-ai/pos 0.23.3 → 0.24.0
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 +82 -2
- 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/PosScreen.d.ts +8 -1
- package/dist/screen/PosScreen.d.ts.map +1 -1
- package/dist/styles.css +52 -0
- 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,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
|
|
@@ -501,5 +508,5 @@ export interface PosScreenProps {
|
|
|
501
508
|
/** Injected in tests so elapsed times are not wall-clock dependent. */
|
|
502
509
|
now?: number;
|
|
503
510
|
}
|
|
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;
|
|
511
|
+
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
512
|
//# 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;
|