@kosdev-code/kos-dispense-sdk 2.0.18 → 2.0.19
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/index.cjs +1 -1
- package/index.js +1 -1
- package/package.json +3 -3
- package/pump-provider-BU_HZL2F.cjs +2 -0
- package/{pump-provider-Csj2RXYB.cjs.map → pump-provider-BU_HZL2F.cjs.map} +1 -1
- package/pump-provider-D7OslYhd.js +1070 -0
- package/{pump-provider-UGrGomQa.js.map → pump-provider-D7OslYhd.js.map} +1 -1
- package/ui/hooks/pour/use-pour.d.ts +2 -1
- package/ui/hooks/pour/use-pour.d.ts.map +1 -1
- package/ui.cjs +1 -1
- package/ui.js +1 -1
- package/pump-provider-Csj2RXYB.cjs +0 -2
- package/pump-provider-UGrGomQa.js +0 -1065
package/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./dispense-registration-manager-DRFXN5Fe.cjs"),i=require("./extension-utils-DiqbAS68.cjs"),e=require("./pump-provider-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./dispense-registration-manager-DRFXN5Fe.cjs"),i=require("./extension-utils-DiqbAS68.cjs"),e=require("./pump-provider-BU_HZL2F.cjs");require("@kosdev-code/kos-ui-sdk");require("react");require("@emotion/react/jsx-runtime");exports.Assembly=r.Assembly;exports.Availability=r.Availability;exports.Board=r.Board;exports.BoardContainer=r.BoardContainer;Object.defineProperty(exports,"BoardContainerModel",{enumerable:!0,get:()=>r.BoardContainerModel});exports.DeviceAssembly=r.DeviceAssembly;exports.DispenseModelType=r.DispenseModelType;exports.DispenserModels=r.kosModels;exports.ExtensionType=r.ExtensionType;exports.GenericPour=r.GenericPour;exports.Holder=r.Holder;exports.HolderContainer=r.HolderContainer;exports.Ingredient=r.Ingredient;exports.IngredientContainer=r.IngredientContainer;exports.KosModelRegistry=r.KosModelRegistry;exports.Nozzle=r.Nozzle;exports.PourState=r.PourState;exports.Pump=r.Pump;exports.PumpContainer=r.PumpContainer;exports.PumpIndex=r.PumpIndex;exports.TOPIC_BOARD_LINKED=r.TOPIC_BOARD_LINKED;exports.TOPIC_BOARD_UNLINKED=r.TOPIC_BOARD_UNLINKED;exports.kosModels=r.kosModels;exports.registerDispenseModels=r.registerDispenseModels;exports.AssemblyServices=i.index;exports.AssemblyTypes=i.assembly;exports.DispenseExtensionManager=i.DispenseExtensionManager;exports.GenericPourServices=i.index$1;exports.HolderServices=i.index$2;exports.IngredientServices=i.index$3;exports.KosExtensionManager=i.KosExtensionManager;exports.NozzleServices=i.index$4;exports.PumpServices=i.index$5;exports.getFuelGaugeValue=i.getFuelGaugeValue;exports.AssemblyProvider=e.AssemblyProvider;exports.AvailabilityProvider=e.AvailabilityProvider;exports.BoardContainerProvider=e.BoardContainerProvider;exports.BoardProvider=e.BoardProvider;exports.CuiKit=e.CuiKit;exports.CuiKitWrapper=e.CuiKitWrapper;exports.DISPENSE_GROUP_BEVERAGE=e.DISPENSE_GROUP_BEVERAGE;exports.DISPENSE_GROUP_BRAND=e.DISPENSE_GROUP_BRAND;exports.DISPENSE_GROUP_FLAVOR=e.DISPENSE_GROUP_FLAVOR;exports.DeviceAssemblyProvider=e.DeviceAssemblyProvider;exports.HoldToPourIntentStrategy=e.HoldToPourIntentStrategy;exports.HoldToPourStrategy=e.HoldToPourStrategy;exports.HolderContainerProvider=e.HolderContainerProvider;exports.HolderProvider=e.HolderProvider;exports.IngredientContainerProvider=e.IngredientContainerProvider;exports.IngredientProvider=e.IngredientProvider;exports.NozzleProvider=e.NozzleProvider;exports.PumpProvider=e.PumpProvider;exports.TapOrHoldIntentStrategy=e.TapOrHoldIntentStrategy;exports.TapToPourIntentStrategy=e.TapToPourIntentStrategy;exports.TapToPourStrategy=e.TapToPourStrategy;exports.initializeCuiKit=e.initializeCuiKit;exports.useAssembly=e.useAssembly;exports.useAssemblyContext=e.useAssemblyContext;exports.useAvailability=e.useAvailability;exports.useAvailabilityContext=e.useAvailabilityContext;exports.useBeverages=e.useBeverages;exports.useBoard=e.useBoard;exports.useBoardContainer=e.useBoardContainer;exports.useBoardContainerContext=e.useBoardContainerContext;exports.useBoardContext=e.useBoardContext;exports.useBrands=e.useBrands;exports.useCuiKit=e.useCuiKit;exports.useCuiKitTimers=e.useCuiKitTimers;exports.useDefaultCuiKitLifecycle=e.useDefaultCuiKitLifecycle;exports.useDeviceAssembly=e.useDeviceAssembly;exports.useDeviceAssemblyContext=e.useDeviceAssemblyContext;exports.useDispenseLifecycle=e.useDispenseLifecycle;exports.useFlavors=e.useFlavors;exports.useGenericPour=e.useGenericPour;exports.useHolder=e.useHolder;exports.useHolderContainer=e.useHolderContainer;exports.useHolderContainerContext=e.useHolderContainerContext;exports.useHolderContext=e.useHolderContext;exports.useIngredient=e.useIngredient;exports.useIngredientContainer=e.useIngredientContainer;exports.useIngredientContainerContext=e.useIngredientContainerContext;exports.useIngredientContext=e.useIngredientContext;exports.useIngredientPour=e.useIngredientPour;exports.useNozzle=e.useNozzle;exports.useNozzleContext=e.useNozzleContext;exports.useNozzlePour=e.useNozzlePour;exports.usePourTarget=e.usePourTarget;exports.usePumpContext=e.usePumpContext;exports.withAssembly=e.withAssembly;exports.withBeverage=e.withBeverage;exports.withBoard=e.withBoard;exports.withBoardContainer=e.withBoardContainer;exports.withDeviceAssembly=e.withDeviceAssembly;exports.withGenericPour=e.withGenericPour;exports.withHolder=e.withHolder;exports.withHolderContainer=e.withHolderContainer;exports.withIngredient=e.withIngredient;exports.withIngredientContainer=e.withIngredientContainer;exports.withNozzle=e.withNozzle;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { A as o, a as t, d as n, c as u, B as d, e as l, D as P, k as C, E as v, G as g, H as y, f as m, I as p, g as I, K as A, N as c, j as D, P as B, h as b, i as x, T as S, b as z, k as E, r as H } from "./dispense-registration-manager-BX9C7jzd.js";
|
|
2
2
|
import { i as T, f as h, D as K, a as w, b as G, c as _, K as O, d as R, e as f, g as M } from "./extension-utils-CaPxvvPM.js";
|
|
3
|
-
import { A as U, a as k, d as F, B as V, f as j, C as W, G as q, F as J, J as Q, D as X, a4 as Y, a5 as Z, j as $, H as ee, m as se, I as ae, N as re, P as ie, a6 as oe, a7 as te, a8 as ne, i as ue, q as de, u as le, r as Pe, b as Ce, z as ve, t as ge, x as ye, e as me, c as pe, E as Ie, K as Ae, O as ce, L as De, R as Be, g as be, M as xe, Q as Se, a9 as ze, T as Ee, V as He, k as Ne, h as Te, X as he, _ as Ke, n as we, l as Ge, Y as _e, a0 as Oe, o as Re, a2 as fe, a3 as Me, p as Le, w as Ue, s as ke, v as Fe, y as Ve, S as je, aa as We, U as qe, W as Je, Z as Qe, $ as Xe, a1 as Ye } from "./pump-provider-
|
|
3
|
+
import { A as U, a as k, d as F, B as V, f as j, C as W, G as q, F as J, J as Q, D as X, a4 as Y, a5 as Z, j as $, H as ee, m as se, I as ae, N as re, P as ie, a6 as oe, a7 as te, a8 as ne, i as ue, q as de, u as le, r as Pe, b as Ce, z as ve, t as ge, x as ye, e as me, c as pe, E as Ie, K as Ae, O as ce, L as De, R as Be, g as be, M as xe, Q as Se, a9 as ze, T as Ee, V as He, k as Ne, h as Te, X as he, _ as Ke, n as we, l as Ge, Y as _e, a0 as Oe, o as Re, a2 as fe, a3 as Me, p as Le, w as Ue, s as ke, v as Fe, y as Ve, S as je, aa as We, U as qe, W as Je, Z as Qe, $ as Xe, a1 as Ye } from "./pump-provider-D7OslYhd.js";
|
|
4
4
|
import "@kosdev-code/kos-ui-sdk";
|
|
5
5
|
import "react";
|
|
6
6
|
import "@emotion/react/jsx-runtime";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kosdev-code/kos-dispense-sdk",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.19",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./index.d.ts",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
"./package.json": "./package.json"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@kosdev-code/kos-ui-sdk": "~2.0.
|
|
26
|
+
"@kosdev-code/kos-ui-sdk": "~2.0.19"
|
|
27
27
|
},
|
|
28
28
|
"publishConfig": {
|
|
29
29
|
"registry": "https://registry.npmjs.org/"
|
|
30
30
|
},
|
|
31
31
|
"kos": {
|
|
32
32
|
"build": {
|
|
33
|
-
"gitHash": "
|
|
33
|
+
"gitHash": "e0c503e557110d60c4da6b5f600eed0298c35d01"
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var Ge=Object.defineProperty;var Ye=(e,t,s)=>t in e?Ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var j=(e,t,s)=>(Ye(e,typeof t!="symbol"?t+"":t,s),s);const l=require("@emotion/react/jsx-runtime"),u=require("@kosdev-code/kos-ui-sdk"),n=require("react"),v=require("./dispense-registration-manager-DRFXN5Fe.cjs"),Z=()=>{const e=v.Assembly.type;return u.useKosModel({modelId:e,modelType:v.Assembly.type,options:{}})};function _e(e){return t=>{const{model:s,status:r,KosModelLoader:o}=Z();return l.jsx(o,{...r,children:l.jsx(e,{...t,assembly:s})})}}const z=()=>{const e=v.Availability.type;return u.useKosModel({modelId:e,modelType:v.Availability.type,options:{}})};function Ue(e){return t=>{const{model:s,status:r,KosModelLoader:o}=z();return l.jsx(o,{...r,children:l.jsx(e,{...t,beverage:s})})}}const ee=e=>{const t=e;return u.useKosModel({modelId:t,modelType:v.Board.type,options:{}})};function Fe(e){return t=>s=>{const{model:r,status:o,KosModelLoader:i}=ee(t);return l.jsx(i,{...o,children:l.jsx(e,{...s,board:r})})}}const te=()=>{const e=v.BoardContainer.type;return u.useKosModel({modelId:e,modelType:v.BoardContainer.type,options:{}})};function Ve(e){return t=>{const{model:s,status:r,KosModelLoader:o}=te();return l.jsx(o,{...r,children:l.jsx(e,{...t,boardContainer:s})})}}const se=e=>{const t=e;return u.useKosModel({modelId:t,modelType:v.Nozzle.type,options:{path:e}})},le=n.createContext(void 0),be=({children:e,path:t})=>{const{model:s,ready:r}=se(t),o=n.useMemo(()=>r&&s?{model:s}:{},[r,s]);return l.jsx(le.Provider,{value:o,children:e})},I=()=>{const e=n.useContext(le);if(!e)throw new Error("useNozzleContext must be used within a NozzleProvider");return e},me=({onBeverageSelected:e,onClearBeverage:t,companionType:s})=>{const{model:r}=I(),[o,i]=n.useState([]),[c,b]=n.useState(null),h=n.useMemo(()=>s?o.map(m=>u.getKosCompanionModel(m,s)):[],[o,s]),f=n.useCallback(async m=>{b(m),await(r==null?void 0:r.setSelectedPourable({beverage:m})),e==null||e(m)},[r,e]),d=n.useCallback(async()=>{b(null),await(r==null?void 0:r.setSelectedPourable({beverage:void 0})),t==null||t()},[r,t]);return n.useEffect(()=>{const m=u.kosAutoEffect(()=>{if(!r)return;const a=r.selectedBrand;if(!a){const P=r.getGroupAvailabilityItems("beverages").filter(p=>p.visible);i(P??[]);return}const x=r.getAvailabilityByParent(a.id).filter(P=>P.visible);i(x??[])});return()=>{m()}},[r]),{beverages:o,beverageCompanions:h,selectBeverage:f,selectedBeverage:c,clearBeverage:d}},he=({onBrandSelected:e,onBrandCleared:t,companionType:s})=>{const{model:r}=I(),[o,i]=n.useState(null),c=n.useMemo(()=>(r==null?void 0:r.getGroupAvailabilityItems("brands").filter(d=>d.visible))??[],[r]),b=n.useMemo(()=>s?c.map(d=>u.getKosCompanionModel(d,s)):[],[c,s]),h=n.useCallback(async d=>{i(d),r==null||r.setSelectedBrand(d),e==null||e(d)},[r,e]),f=n.useCallback(()=>{i(null),r==null||r.setSelectedBrand(void 0),t==null||t()},[r,t]);return{brands:c,brandCompanions:b,selectedBrand:o,selectBrand:h,clearBrand:f}},qe=u.KosLog.createLogger({name:"HoldToPourStrategy",group:"kos-hooks"}),re={name:"HoldToPourStrategy",async initiate(e){if(!(e!=null&&e.canPour)){qe.debug(`Nozzle ${e==null?void 0:e.id} cannot pour. Returning early.`);return}await(e==null?void 0:e.pour())},async initiateEnded(e){await(e==null?void 0:e.cancelPour())}},W=u.KosLog.createLogger({name:"useNozzlePour",group:"kos-hooks"}),fe=({onPour:e,onPourCancel:t,strategy:s=re})=>{const{model:r}=I(),o=n.useCallback(()=>{W.debug(`[${s==null?void 0:s.name}] - Pour initiated for nozzle ${r==null?void 0:r.id}.`),s==null||s.initiate(r),e==null||e()},[e,r,s]),i=n.useCallback(()=>{var h;W.debug(`[${s==null?void 0:s.name}] - Pour initiate ended called for nozzle ${r==null?void 0:r.id}.`),(h=s==null?void 0:s.initiateEnded)==null||h.call(s,r),t==null||t()},[t,r,s]),c=n.useCallback(()=>{W.debug(`Force cancelling pour for nozzle ${r==null?void 0:r.id}.`),r==null||r.cancelPour(),t==null||t()},[t,r]);return{handlers:u.usePressGesture({onPressed:o,onRelease:i}).dom,cancel:c,status:r}},pe=({onFlavorSelected:e,onFlavorCleared:t,companionType:s})=>{const{model:r}=I(),o=n.useMemo(()=>(r==null?void 0:r.getGroupAvailabilityItems("flavors").filter(d=>d.visible))??[],[r]),i=n.useMemo(()=>s?o.map(d=>u.getKosCompanionModel(d,s)):[],[o,s]),[c,b]=n.useState([]),h=n.useCallback(async d=>{if(b(m=>m!=null&&m.includes(d)?[...m.filter(a=>a!==d)]:[...m??[],d]),r!=null&&r.selectedPourable){const{beverage:m}=r.selectedPourable;await r.setSelectedPourable({beverage:m,additional:c??[]})}e==null||e(d,c??[])},[r,e,c]),f=n.useCallback(async()=>{if(b([]),r!=null&&r.selectedPourable){const{beverage:d}=r.selectedPourable;r.setSelectedPourable({beverage:d}),t==null||t()}},[r,t]);return{flavors:o,flavorCompanions:i,selectFlavor:h,selectedFlavors:c,clearFlavors:f}},M="brands",D="beverages",H="flavors",ve=({initialGroup:e=M,options:t={}})=>{var E,Y,_;const[s,r]=n.useState(e),{model:o}=I(),i=n.useCallback(C=>{r(H);const S=`/kos/dispense/${o==null?void 0:o.path}/brand/selected/`;u.EventBus.publish(S,C)},[o==null?void 0:o.path]),c=n.useCallback(()=>{const C=`/kos/dispense/${o==null?void 0:o.path}/brand/cleared/`;u.EventBus.publish(C,{})},[o==null?void 0:o.path]),b=n.useCallback(C=>{r(H);const S=`/kos/dispense/${o==null?void 0:o.path}/beverage/selected/`;u.EventBus.publish(S,C)},[o==null?void 0:o.path]),h=n.useCallback(()=>{const C=`/kos/dispense/${o==null?void 0:o.path}/beverage/cleared/`;u.EventBus.publish(C,{})},[o==null?void 0:o.path]),f=n.useCallback(C=>{const S=`/kos/dispense/${o==null?void 0:o.path}/flavor/selected/`;u.EventBus.publish(S,C)},[o==null?void 0:o.path]),d=n.useCallback(()=>{const C=`/kos/dispense/${o==null?void 0:o.path}/flavor/cleared/`;u.EventBus.publish(C,{})},[o==null?void 0:o.path]),m=n.useCallback(()=>{const C=`/kos/dispense/${o==null?void 0:o.path}/pour/`;u.EventBus.publish(C,{})},[o==null?void 0:o.path]),a=n.useCallback(()=>{const C=`/kos/dispense/${o==null?void 0:o.path}/pour/cancel/`;u.EventBus.publish(C,{})},[o==null?void 0:o.path]),{brands:x,selectBrand:P,selectedBrand:p,clearBrand:k,brandCompanions:L}=he({companionType:(E=t.companionTypes)==null?void 0:E.brand,onBrandSelected:i,onBrandCleared:c}),{beverages:$,selectBeverage:R,selectedBeverage:O,clearBeverage:A,beverageCompanions:F}=me({companionType:(Y=t.companionTypes)==null?void 0:Y.beverage,onBeverageSelected:b,onClearBeverage:h}),{clearFlavors:V,flavors:B,selectFlavor:T,selectedFlavors:q,flavorCompanions:G}=pe({companionType:(_=t.companionTypes)==null?void 0:_.flavor,onFlavorSelected:f,onFlavorCleared:d}),g=fe({onPour:m,onPourCancel:a}),K=n.useCallback(()=>{switch(s){case M:A(),k();break;case D:case H:r(e),A(),k();break}},[A,k,s,e]),w=n.useCallback(()=>{r(e),e===M&&(A(),k()),e===D&&A()},[A,k,e]);return{nav:{currentGroup:s,back:K,home:w},pour:g,selections:{[M]:p,[D]:O,[H]:q},[M]:{models:x,companions:L,clear:k,handlers:{onSelected:P}},[D]:{models:$,companions:F,clear:A,handlers:{onSelected:R}},[H]:{models:B,companions:G,clear:V,handlers:{onSelected:T}}}},We=e=>{const{model:t}=I(),[s,r]=n.useState(null),{onAmbientTimer:o,onAttractTimer:i,onResetAttractTimer:c,onResumeAttractTimer:b,defaultAttractTime:h,defaultAmbientTime:f}=e,d=n.useCallback(()=>{o&&(u.KosLog.info("Ambient timer expired. Calling callback"),o==null||o())},[o]),m=n.useCallback(()=>{i&&(u.KosLog.info("Attract timer expired. Calling callback"),i==null||i())},[i]),a=n.useCallback(()=>{s&&(s.restart(),c==null||c())},[s,c]),x=n.useCallback(()=>{s&&(s.reset(),c==null||c())},[s,c]),P=n.useCallback(()=>{s&&(s.pause(),b==null||b())},[s,b]);return n.useEffect(()=>{if(t&&h){u.KosLog.info("Nozzle is available. Creating timers");const p=u.TimerManager.createTimer("attract-timer-"+t.path,h);return h&&(p==null||p.addTimeoutAction({name:"attract-timer",remainingTime:0,action:m})),f&&(p==null||p.addTimeoutAction({name:"ambient-timer",remainingTime:f,action:d})),h&&(p==null||p.start()),r(p??null),()=>{p==null||p.reset(),r(null)}}return()=>{u.KosLog.info("Nozzle is not available. No timers to clear")}},[f,h,d,m,t]),{attractTimer:s,restart:a,pause:x,resume:P}},Je=(e,t)=>{if(t)return u.EventBus.subscribe(e,t).unsubscribe},xe=({onInit:e,onBrandSelected:t,onBrandCleared:s,onBeverageCleared:r,onBeverageSelected:o,onFlavorCleared:i,onFlavorSelected:c,onPour:b,onPourCancel:h,onAmbientTimer:f,onAttractTimer:d,onResumeAttractTimer:m})=>{const{model:a}=I();n.useEffect(()=>{const P=[{topic:`/kos/dispense/${a==null?void 0:a.path}/brand/selected/`,callback:t},{topic:`/kos/dispense/${a==null?void 0:a.path}/brand/cleared/`,callback:s},{topic:`/kos/dispense/${a==null?void 0:a.path}/beverage/selected/`,callback:o},{topic:`/kos/dispense/${a==null?void 0:a.path}/beverage/cleared/`,callback:r},{topic:`/kos/dispense/${a==null?void 0:a.path}/flavor/selected/`,callback:c},{topic:`/kos/dispense/${a==null?void 0:a.path}/flavor/cleared/`,callback:i},{topic:`/kos/dispense/${a==null?void 0:a.path}/pour/`,callback:b},{topic:`/kos/dispense/${a==null?void 0:a.path}/pour/cancel/`,callback:h},{topic:`/kos/dispense/${a==null?void 0:a.path}/ambient/start/`,callback:f},{topic:`/kos/dispense/${a==null?void 0:a.path}/attract/start/`,callback:d},{topic:`/kos/dispense/${a==null?void 0:a.path}/attract/resume/`,callback:m},{topic:`/kos/dispense/${a==null?void 0:a.path}/init/`,callback:e}].map(({topic:p,callback:k})=>Je(p,k));return()=>{P.forEach(p=>p==null?void 0:p())}},[a==null?void 0:a.path,f,d,r,o,s,t,i,c,b,h,m,e])},X=e=>{const{model:t}=I(),[s,r]=n.useState(null),{onAreYouThereTimer:o,onIdleTimer:i,onResetIdleTimer:c,defaultAreYouThereTime:b=10,defaultIdleTime:h=20}=e,f=n.useCallback(()=>{o&&(u.KosLog.info("Are you there timer expired. Calling callback"),o==null||o())},[o]),d=n.useCallback(()=>{i&&(u.KosLog.info("Idle timer expired. Calling callback"),i==null||i())},[i]),m=n.useCallback(()=>{s&&(s.restart(),c==null||c())},[s,c]),a=n.useCallback(()=>{s&&(s.reset(),c==null||c())},[s,c]);return n.useEffect(()=>{if(t){u.KosLog.info("Nozzle is available. Creating timers");const x=u.TimerManager.createTimer(`${e.prefix??""}idle-timer-${t.path}`,h);return x==null||x.addTimeoutAction({name:"idle-timer",remainingTime:0,action:d}),x==null||x.addTimeoutAction({name:"are-you-there-timer",remainingTime:b,action:f}),r(x??null),()=>{x==null||x.reset(),r(null)}}return()=>{u.KosLog.info("Nozzle is not available. No timers to clear")}},[b,h,f,d,t,e.prefix]),{idleTimer:s,restart:m,pause:a}},Qe=({kit:e,inactivity:t,pour:s,screens:r})=>{var ce;const[o,i]=n.useState(!1),[c,b]=n.useState(!1),[h,f]=n.useState(!1),{model:d}=I(),[m,a]=n.useState(!1),x=(t==null?void 0:t.idleTimeout)??15,P=(t==null?void 0:t.areYouThereTimeoutOffset)??10,p=(s==null?void 0:s.idleTimeout)??(t==null?void 0:t.idleTimeout)??10,k=(s==null?void 0:s.areYouThereTimeoutOffset)??(t==null?void 0:t.areYouThereTimeoutOffset)??5,L=r==null?void 0:r.ambientTimeoutOffset,$=r==null?void 0:r.attractTimeout,R=n.useCallback(()=>{i(!0)},[]),O=n.useCallback(()=>{i(!1),e==null||e.nav.home()},[(ce=e==null?void 0:e.nav)==null?void 0:ce.home]),A=n.useCallback(()=>{L&&(b(!0),f(!1))},[L]),F=n.useCallback(()=>{$&&(f(!0),b(!1))},[$]),V=n.useCallback(()=>{$&&(f(!1),b(!1),e==null||e.nav.home())},[e==null?void 0:e.nav,$]),{pause:B,restart:T,resume:q,attractTimer:G}=We({defaultAmbientTime:L,defaultAttractTime:$,onAmbientTimer:A,onAttractTimer:F,onResumeAttractTimer:V}),{pause:g,restart:K}=X({defaultAreYouThereTime:P,defaultIdleTime:x,onAreYouThereTimer:R,onIdleTimer:O}),{pause:w,restart:E}=X({defaultAreYouThereTime:k,defaultIdleTime:p,onAreYouThereTimer:R,onIdleTimer:O,prefix:"pour-"}),Y=n.useCallback(()=>{a(!1),w(),g()},[g,w]),_=n.useCallback(()=>{a(!0),console.log("restarting pour timer"),E(),g()},[g,E]),C=n.useCallback(()=>{i(!1),m?(E(),g()):(K(),w())},[m,g,w,K,E]),S=n.useCallback(()=>{B(),f(!1),b(!1),K()},[B,K]),je=n.useCallback(()=>{f(!1),b(!1),a(!1),w(),T()},[T,w]),ye=n.useCallback(()=>{f(!1),b(!1),a(!1),B(),K()},[B,K]),Ne=n.useCallback(()=>{f(!1),b(!1),a(!1),T(),g(),w()},[T,g,w]),De=n.useCallback(()=>{f(!1),b(!1),T(),g()},[T,g]);xe({onBrandSelected:S,onBrandCleared:je,onBeverageSelected:ye,onBeverageCleared:Ne,onPour:Y,onPourCancel:_,onInit:De});const Re=m?k:P;return n.useEffect(()=>{if(d&&G){const Oe=`/kos/dispense/${d==null?void 0:d.path}/init/`;u.EventBus.publish(Oe,{})}},[d,G]),{showAreYouThere:o,clearAreYouThere:C,areYouThereCountdown:Re,showAmbientScreen:c,showAttractScreen:h,pauseScreenTimer:q}},oe=()=>{const e=v.DeviceAssembly.type;return u.useKosModel({modelId:e,modelType:v.DeviceAssembly.type,options:{}})};function Xe(e){return t=>{const{model:s,status:r,KosModelLoader:o}=oe();return l.jsx(o,{...r,children:l.jsx(e,{...t,deviceAssembly:s})})}}const ne=e=>{const t=e;return u.useKosModel({modelId:t,modelType:v.Holder.type,options:{}})};function Ze(e,t){return s=>{const{model:r,status:o,KosModelLoader:i}=ne(e);return l.jsx(i,{...o,children:l.jsx(t,{...s,holder:r})})}}const ie=()=>{const e=v.HolderContainer.type;return u.useKosModel({modelId:e,modelType:v.HolderContainer.type,options:{}})};function ze(e){return t=>{const{model:s,status:r,KosModelLoader:o}=ie();return l.jsx(o,{...r,children:l.jsx(e,{...t,holderContainer:s})})}}const ae=()=>{const e=v.Ingredient.type;return u.useKosModel({modelId:e,modelType:v.Ingredient.type,options:{}})},J=u.KosLog.createLogger({name:"HoldToPourIntentStrategy",group:"kos-hooks"}),Ce={name:"HoldToPourIntentStrategy",async initiate(e,t){if(!(e!=null&&e.canPour)){J.debug(`${e==null?void 0:e.id} cannot pour. Returning early.`);return}t?(J.debug(`performing intent: ${t}`),await(e==null?void 0:e.performIntent(t))):J.debug("no intent provided. Returning early.")},async initiateEnded(e){await(e==null?void 0:e.cancelPour())}},Q=u.KosLog.createLogger({name:"useNozzlePour",group:"kos-hooks"}),et=({onPour:e,onPourCancel:t,intentContainer:s,strategy:r=Ce})=>{const o=n.useCallback(()=>{Q.debug(`[${r==null?void 0:r.name}] - Pour initiated for model ${s==null?void 0:s.id}.`),r==null||r.initiate(s),e==null||e()},[e,s,r]),i=n.useCallback(()=>{var h;Q.debug(`[${r==null?void 0:r.name}] - Pour initiate ended called for nozzle ${s==null?void 0:s.id}.`),(h=r==null?void 0:r.initiateEnded)==null||h.call(r,s),t==null||t()},[t,s,r]),c=n.useCallback(()=>{Q.debug(`Force cancelling pour for nozzle ${s==null?void 0:s.id}.`),s==null||s.cancelPour(),t==null||t()},[t,s]);return{handlers:u.usePressGesture({onPressed:o,onRelease:i}).dom,cancel:c,status:s}};function tt(e){return t=>{const{model:s,status:r,KosModelLoader:o}=ae();return l.jsx(o,{...r,children:l.jsx(e,{...t,ingredient:s})})}}const ue=()=>{const e=v.IngredientContainer.type;return u.useKosModel({modelId:e,modelType:v.IngredientContainer.type,options:{}})};function st(e){return t=>{const{model:s,status:r,KosModelLoader:o}=ue();return l.jsx(o,{...r,children:l.jsx(e,{...t,ingredientContainer:s})})}}function rt(e,t){return s=>{const{model:r,status:o,KosModelLoader:i}=se(e);return l.jsx(i,{...o,children:l.jsx(t,{...s,nozzle:r})})}}const y=u.KosLog.createLogger({name:"usePour",group:"kos-hooks"}),ot=({onBeforePour:e,onPour:t,onPourCancel:s,onPourAbort:r,pourTarget:o,strategy:i=re})=>{const c=n.useCallback(async()=>{y.debug(`[${i==null?void 0:i.name}] - calling before pour for pour target ${o==null?void 0:o.id}.`),(e?await(e==null?void 0:e()):!0)?(y.debug(`[${i==null?void 0:i.name}] - Pour initiated for pour target ${o==null?void 0:o.id}.`),await(i==null?void 0:i.initiate(o)),t==null||t(),o!=null&&o.isPouring||r==null||r()):(y.debug(`[${i==null?void 0:i.name}] - Pour cancelled for pour target ${o==null?void 0:o.id}.`),s==null||s())},[t,o,i]),b=n.useCallback(async()=>{var m;y.debug(`[${i==null?void 0:i.name}] - Pour initiate ended called for pour target ${o==null?void 0:o.id}.`),await((m=i==null?void 0:i.initiateEnded)==null?void 0:m.call(i,o))||s==null||s()},[s,o,i]),h=n.useCallback(async()=>{y.debug(`Force cancelling pour for pour target ${o==null?void 0:o.id}.`),await(o==null?void 0:o.cancelPour()),s==null||s()},[s,o]);return{handlers:u.usePressGesture({onPressed:c,onRelease:b}).dom,cancel:h,status:o}},N=u.KosLog.createLogger({name:"TapOrHoldIntentStrategy",group:"kos-hooks"});class nt{constructor(t){j(this,"intent");j(this,"name","TapOrHoldIntentStrategy");j(this,"isHold",!1);j(this,"disposer",null);this.intent=t}async initiate(t,s){if(this.disposer=setTimeout(()=>{this.isHold=!0},250),t!=null&&t.isPouring&&!this.isHold){N.debug("additional tap detected. cancelling pour"),await t.cancelPour();return}if(!(t!=null&&t.canPour)){N.debug(`${t==null?void 0:t.id} cannot pour. Returning early.`);return}s?(N.debug(`performing intent: ${s}`),await(t==null?void 0:t.performIntent(s))):N.debug("no intent provided. Returning early.")}async initiateEnded(t){return this.disposer&&clearTimeout(this.disposer),this.disposer=null,this.isHold?(await(t==null?void 0:t.cancelPour()),!1):(N.debug("Tap detected. don't cancel and return."),!0)}}const U=u.KosLog.createLogger({name:"TapToPourIntentStrategy",group:"kos-hooks"}),it={name:"TapToPourIntentStrategy",async initiate(e,t){if(e!=null&&e.isPouring){U.debug(`Nozzle ${e==null?void 0:e.id} is already pouring. cancelling pour`),await e.cancelPour();return}if(!(e!=null&&e.canPour)){U.debug(`Nozzle ${e==null?void 0:e.id} cannot pour. Returning early.`);return}t?(U.debug(`performing intent: ${t}`),await(e==null?void 0:e.performIntent(t))):U.debug("no intent provided. Returning early.")},async initiateEnded(e){return!0}},de=u.KosLog.createLogger({name:"HoldToPourStrategy",group:"kos-hooks"}),at={name:"TapToPourStrategy",async initiate(e){if(e!=null&&e.isPouring){de.debug(`Nozzle ${e==null?void 0:e.id} is already pouring. cancelling pour`),await e.cancelPour();return}if(!(e!=null&&e.canPour)){de.debug(`Nozzle ${e==null?void 0:e.id} cannot pour. Returning early.`);return}await(e==null?void 0:e.pour())},async initiateEnded(e){return!0}},Pe=(e,t,s)=>{const r=e;return u.useKosModel({modelId:r,modelType:v.GenericPour.type,options:{servicePathFactory:t,selectedId:s}})};function ut(e){return t=>{const{model:s,status:r,KosModelLoader:o}=Pe(t.id,t.servicePathFactory,t.itemId);return l.jsx(o,{...r,children:l.jsx(e,{...t,genericPour:s})})}}const ge=n.createContext(void 0),ct=({children:e})=>{const{model:t,ready:s}=Z(),r=n.useMemo(()=>s&&t?{model:t}:{},[s,t]);return l.jsx(ge.Provider,{value:r,children:e})},dt=()=>{const e=n.useContext(ge);if(!e)throw new Error("useAssemblyContext must be used within a AssemblyProvider");return e},ke=n.createContext(void 0),lt=({children:e})=>{const{model:t,ready:s}=z(),r=n.useMemo(()=>s&&t?{model:t}:{},[s,t]);return l.jsx(ke.Provider,{value:r,children:e})},bt=()=>{const e=n.useContext(ke);if(!e)throw new Error("useAvailabilityContext must be used within a AvailabilityProvider");return e},we=n.createContext(void 0),mt=({children:e,id:t})=>{const{model:s,ready:r}=ee(t),o=n.useMemo(()=>r&&s?{model:s}:{},[r,s]);return l.jsx(we.Provider,{value:o,children:e})},ht=()=>{const e=n.useContext(we);if(!e)throw new Error("useBoardContext must be used within a BoardProvider");return e},Ie=n.createContext(void 0),ft=({children:e})=>{const{model:t,ready:s}=te(),r=n.useMemo(()=>s&&t?{model:t}:{},[s,t]);return l.jsx(Ie.Provider,{value:r,children:e})},pt=()=>{const e=n.useContext(Ie);if(!e)throw new Error("useBoardContainerContext must be used within a BoardContainerProvider");return e},Ae=n.createContext(void 0),Te=({children:e})=>{const{model:t,ready:s}=oe(),r=n.useMemo(()=>{if(s&&t){const i=t.nozzlePaths;return{model:t,nozzlePaths:i}}return{}},[s,t]),o=s&&t?e:null;return l.jsx(Ae.Provider,{value:r,children:o})},Ke=()=>{const e=n.useContext(Ae);if(!e)throw new Error("useDeviceAssemblyContext must be used within a DeviceAssemblyProvider");return e};function vt(){const e=n.createContext(null);return[()=>{const s=n.useContext(e);if(s===void 0)throw new Error("useDispenseKitContext must be used within a Provider");return s},e.Provider]}function $e({children:e,provider:t,props:s}){const r=ve(s);return l.jsx(t,{value:r,children:e({})})}function xt({children:e,provider:t,props:s}){const{nozzlePaths:r}=Ke();return(r==null?void 0:r.map(i=>l.jsx(be,{path:i,children:l.jsx($e,{provider:t,props:s,children:e})},i)))||[]}function Ee({provider:e,props:t}){return({children:s})=>e?l.jsx(Te,{children:l.jsx(xt,{provider:e,props:t,children:s})}):null}function Ct(e){const[t,s]=vt();return[t,Ee({provider:s,props:e})]}const Se=n.createContext(void 0),Pt=({children:e,id:t})=>{const{model:s,ready:r}=ne(t||""),o=n.useMemo(()=>r&&s?{model:s}:{},[r,s]);return l.jsx(Se.Provider,{value:o,children:e})},gt=()=>{const e=n.useContext(Se);if(!e)throw new Error("useHolderContext must be used within a HolderProvider");return e},Be=n.createContext(void 0),kt=({children:e})=>{const{model:t,ready:s}=ie(),r=n.useMemo(()=>s&&t?{model:t}:{},[s,t]);return l.jsx(Be.Provider,{value:r,children:e})},wt=()=>{const e=n.useContext(Be);if(!e)throw new Error("useHolderContainerContext must be used within a HolderContainerProvider");return e},Me=n.createContext(void 0),It=({children:e})=>{const{model:t,ready:s}=ae(),r=n.useMemo(()=>s&&t?{model:t}:{},[s,t]);return l.jsx(Me.Provider,{value:r,children:e})},At=()=>{const e=n.useContext(Me);if(!e)throw new Error("useIngredientContext must be used within a IngredientProvider");return e},He=n.createContext(void 0),Tt=({children:e})=>{const{model:t,ready:s}=ue(),r=n.useMemo(()=>s&&t?{model:t}:{},[s,t]);return l.jsx(He.Provider,{value:r,children:e})},Kt=()=>{const e=n.useContext(He);if(!e)throw new Error("useIngredientContainerContext must be used within a IngredientContainerProvider");return e},$t=()=>{const e=v.Pump.type;return u.useKosModel({modelId:e,modelType:v.Pump.type,options:{}})},Le=n.createContext(void 0),Et=({children:e})=>{const{model:t,ready:s}=$t(),r=n.useMemo(()=>s&&t?{model:t}:{},[s,t]);return l.jsx(Le.Provider,{value:r,children:e})},St=()=>{const e=n.useContext(Le);if(!e)throw new Error("usePumpContext must be used within a PumpProvider");return e};exports.AssemblyProvider=ct;exports.AvailabilityProvider=lt;exports.BoardContainerProvider=ft;exports.BoardProvider=mt;exports.CuiKit=Ee;exports.CuiKitWrapper=$e;exports.DISPENSE_GROUP_BEVERAGE=D;exports.DISPENSE_GROUP_BRAND=M;exports.DISPENSE_GROUP_FLAVOR=H;exports.DeviceAssemblyProvider=Te;exports.HoldToPourIntentStrategy=Ce;exports.HoldToPourStrategy=re;exports.HolderContainerProvider=kt;exports.HolderProvider=Pt;exports.IngredientContainerProvider=Tt;exports.IngredientProvider=It;exports.NozzleProvider=be;exports.PumpProvider=Et;exports.TapOrHoldIntentStrategy=nt;exports.TapToPourIntentStrategy=it;exports.TapToPourStrategy=at;exports.initializeCuiKit=Ct;exports.useAssembly=Z;exports.useAssemblyContext=dt;exports.useAvailability=z;exports.useAvailabilityContext=bt;exports.useBeverages=me;exports.useBoard=ee;exports.useBoardContainer=te;exports.useBoardContainerContext=pt;exports.useBoardContext=ht;exports.useBrands=he;exports.useCuiKit=ve;exports.useCuiKitTimers=X;exports.useDefaultCuiKitLifecycle=Qe;exports.useDeviceAssembly=oe;exports.useDeviceAssemblyContext=Ke;exports.useDispenseLifecycle=xe;exports.useFlavors=pe;exports.useGenericPour=Pe;exports.useHolder=ne;exports.useHolderContainer=ie;exports.useHolderContainerContext=wt;exports.useHolderContext=gt;exports.useIngredient=ae;exports.useIngredientContainer=ue;exports.useIngredientContainerContext=Kt;exports.useIngredientContext=At;exports.useIngredientPour=et;exports.useNozzle=se;exports.useNozzleContext=I;exports.useNozzlePour=fe;exports.usePourTarget=ot;exports.usePumpContext=St;exports.withAssembly=_e;exports.withBeverage=Ue;exports.withBoard=Fe;exports.withBoardContainer=Ve;exports.withDeviceAssembly=Xe;exports.withGenericPour=ut;exports.withHolder=Ze;exports.withHolderContainer=ze;exports.withIngredient=tt;exports.withIngredientContainer=st;exports.withNozzle=rt;
|
|
2
|
+
//# sourceMappingURL=pump-provider-BU_HZL2F.cjs.map
|