@kosdev-code/kos-ddk-model-components 2.0.4 → 2.0.8

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 CHANGED
@@ -1,11 +1,11 @@
1
- "use strict";var Ln=Object.defineProperty;var En=(e,t,n)=>t in e?Ln(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var I=(e,t,n)=>(En(e,typeof t!="symbol"?t+"":t,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@kosdev-code/kos-ui-sdk"),o=require("@emotion/react/jsx-runtime"),y=require("@emotion/styled"),a=require("@kosdev-code/kos-ddk-components"),u=require("react"),S=require("@kosdev-code/kos-ddk-models"),_=require("@kosdev-code/kos-ddk-styles"),Fe=require("@kosdev-code/kos-dispense-sdk"),J=require("@kosdev-code/kos-freestyle-sdk"),N=require("@kosdev-code/kos-ui-plugin"),L=require("@kosdev-code/kos-ui-plugin/utilities"),yt=require("react-router-dom");class E{constructor(t,n){I(this,"future");I(this,"intentContainer");I(this,"title");I(this,"intent");I(this,"namespace");I(this,"successMessage");I(this,"failureMessage");I(this,"actionLabel");this.intentContainer=t,this.title=n.title,this.namespace=n.namespace,this.intent=n.intent,this.successMessage=n.successMessage,this.failureMessage=n.failureMessage,this.actionLabel=n.actionLabel}get type(){return"intentContainer"}async performAction(){const t=await this.intentContainer.performIntent(this.intent);t!=null&&t.tracker&&(this.future=l.FutureManager.getFuture(t.tracker))}}class wt extends E{constructor(t){super(t,{title:"Calibrate",intent:"CALIBRATE",successMessage:"Calibrate Complete",failureMessage:"Calibrate Failed"})}enabled(){return!0}}class jt extends E{constructor(t){super(t,{title:"45ml Flow Test",intent:"FIXED_45",successMessage:"45ml Flow Test Complete",failureMessage:"45ml Flow Test Failed"})}enabled(){return!0}}class St extends E{constructor(t){super(t,{title:"Flush",intent:"FLUSH",successMessage:"Flush Complete",failureMessage:"Flush Failed"})}enabled(){return!0}}class kt extends E{constructor(t){super(t,{title:"High Flow Test",intent:"HIGH_FLOW_TEST",successMessage:"High Flow Test Complete",failureMessage:"High Flow Test Failed"})}enabled(){return!0}}class Pt extends E{constructor(t){super(t,{title:"Hold to Pour",intent:"HOLD_TO_POUR",successMessage:"Pour Complete",failureMessage:"Pour Failed"})}enabled(){return!0}}class Tt extends E{constructor(t){super(t,{title:"Low Flow Test",intent:"LOW_FLOW_TEST",successMessage:"Low Flow Test Complete",failureMessage:"Low Flow Test Failed"})}enabled(){return!0}}class It extends E{constructor(t){super(t,{title:"Manual Override",intent:"SOFT_START",successMessage:"Manual Override Complete",failureMessage:"Manual Override Failed"})}enabled(){return!0}}class Dt extends E{constructor(t){super(t,{title:"Reset",intent:"MSV_RESET",successMessage:"Reset Complete",failureMessage:"Reset Failed"})}enabled(){return!0}}class At extends E{constructor(t){super(t,{title:"Prime",intent:"PRIME",successMessage:"Prime Complete",failureMessage:"Prime Failed"})}enabled(){return!0}}class Ft extends E{constructor(t){super(t,{title:"Purge",intent:"PURGE",successMessage:"Purge Complete",failureMessage:"Purge Failed"})}enabled(){return!0}}class Lt{constructor(t,n){I(this,"future");I(this,"troubleAware");I(this,"title");I(this,"troubleKey");I(this,"namespace");I(this,"successMessage");I(this,"failureMessage");I(this,"actionLabel");this.troubleAware=t,this.troubleKey=n.trouble,this.namespace=n.namespace||"troubles",this.title=n.title||`${this.namespace}:troubles.${this.troubleKey}.progress`,this.successMessage=n.successMessage||`${this.namespace}:troubles.${this.troubleKey}.success`,this.failureMessage=n.failureMessage||`${this.namespace}:troubles.${this.troubleKey}.error`,this.actionLabel=n.action||`${this.namespace}:troubles.${this.troubleKey}.action`}get type(){return"troubleAware"}async performAction(){const t=this.troubleAware.troublesByType[this.troubleKey];if(!t)return;const s=await t[0].resolve();s!=null&&s.tracker&&(this.future=l.FutureManager.getFuture(s.tracker))}}class Et extends Lt{constructor(t,n){super(t,{trouble:n})}enabled(){return!0}}const Bn="PrimeTrouble",Mn="PurgeTrouble",Kn=y.div`
1
+ "use strict";var $o=Object.defineProperty;var Oo=(e,t,n)=>t in e?$o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var I=(e,t,n)=>(Oo(e,typeof t!="symbol"?t+"":t,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@kosdev-code/kos-ui-sdk"),o=require("@emotion/react/jsx-runtime"),y=require("@emotion/styled"),a=require("@kosdev-code/kos-ddk-components"),u=require("react"),k=require("@kosdev-code/kos-ddk-models"),U=require("@kosdev-code/kos-ddk-styles"),Le=require("@kosdev-code/kos-dispense-sdk"),J=require("@kosdev-code/kos-freestyle-sdk"),O=require("@kosdev-code/kos-ui-plugin"),B=require("@kosdev-code/kos-ui-plugin/utilities"),St=require("react-router-dom");class M{constructor(t,n){I(this,"future");I(this,"intentContainer");I(this,"title");I(this,"intent");I(this,"namespace");I(this,"successMessage");I(this,"failureMessage");I(this,"actionLabel");this.intentContainer=t,this.title=n.title,this.namespace=n.namespace,this.intent=n.intent,this.successMessage=n.successMessage,this.failureMessage=n.failureMessage,this.actionLabel=n.actionLabel}get type(){return"intentContainer"}async performAction(){const t=await this.intentContainer.performIntent(this.intent);t!=null&&t.tracker&&(this.future=l.FutureManager.getFuture(t.tracker))}}class kt extends M{constructor(t){super(t,{title:"Calibrate",intent:"CALIBRATE",successMessage:"Calibrate Complete",failureMessage:"Calibrate Failed"})}enabled(){return!0}}class Pt extends M{constructor(t){super(t,{title:"45ml Flow Test",intent:"FIXED_45",successMessage:"45ml Flow Test Complete",failureMessage:"45ml Flow Test Failed"})}enabled(){return!0}}class Tt extends M{constructor(t){super(t,{title:"Flush",intent:"FLUSH",successMessage:"Flush Complete",failureMessage:"Flush Failed"})}enabled(){return!0}}class It extends M{constructor(t){super(t,{title:"High Flow Test",intent:"HIGH_FLOW_TEST",successMessage:"High Flow Test Complete",failureMessage:"High Flow Test Failed"})}enabled(){return!0}}class At extends M{constructor(t){super(t,{title:"Hold to Pour",intent:"HOLD_TO_POUR",successMessage:"Pour Complete",failureMessage:"Pour Failed"})}enabled(){return!0}}class Dt extends M{constructor(t){super(t,{title:"Low Flow Test",intent:"LOW_FLOW_TEST",successMessage:"Low Flow Test Complete",failureMessage:"Low Flow Test Failed"})}enabled(){return!0}}class Ft extends M{constructor(t){super(t,{title:"Manual Override",intent:"SOFT_START",successMessage:"Manual Override Complete",failureMessage:"Manual Override Failed"})}enabled(){return!0}}class Et extends M{constructor(t){super(t,{title:"Reset",intent:"MSV_RESET",successMessage:"Reset Complete",failureMessage:"Reset Failed"})}enabled(){return!0}}class Lt extends M{constructor(t){super(t,{title:"Prime",intent:"PRIME",successMessage:"Prime Complete",failureMessage:"Prime Failed"})}enabled(){return!0}}class Bt extends M{constructor(t){super(t,{title:"Purge",intent:"PURGE",successMessage:"Purge Complete",failureMessage:"Purge Failed"})}enabled(){return!0}}class Mt{constructor(t,n){I(this,"future");I(this,"troubleAware");I(this,"title");I(this,"troubleKey");I(this,"namespace");I(this,"successMessage");I(this,"failureMessage");I(this,"actionLabel");this.troubleAware=t,this.troubleKey=n.trouble,this.namespace=n.namespace||"troubles",this.title=n.title||`${this.namespace}:troubles.${this.troubleKey}.progress`,this.successMessage=n.successMessage||`${this.namespace}:troubles.${this.troubleKey}.success`,this.failureMessage=n.failureMessage||`${this.namespace}:troubles.${this.troubleKey}.error`,this.actionLabel=n.action||`${this.namespace}:troubles.${this.troubleKey}.action`}get type(){return"troubleAware"}async performAction(){const t=this.troubleAware.troublesByType[this.troubleKey];if(!t)return;const r=await t[0].resolve();r!=null&&r.tracker&&(this.future=l.FutureManager.getFuture(r.tracker))}}class Kt extends Mt{constructor(t,n){super(t,{trouble:n})}enabled(){return!0}}const Vo="PrimeTrouble",Ho="PurgeTrouble",_o=y.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  overflow-y: auto;
5
5
  overflow-x: hidden;
6
6
  gap: 32px;
7
7
  height: 100%;
8
- `,Bt=l.kosComponent(({holder:e,onComplete:t})=>{const[n,s]=u.useState(!1),{t:r}=l.useKosTranslation("common"),{componentModeOverride:c}=a.useComponentConfigurationContext(),d=e.data.agitated;return o.jsx(a.Modal,{contain:c!=="compact",onClosed:t,show:!n,children:o.jsxs(Kn,{children:[o.jsx(a.Header,{contain:c==="compact",showCloseButton:!0,title:r("shelf-agitator"),showOpenButton:!1,onClose:()=>s(!0),CloseButton:c==="compact"?a.BackButton:void 0}),o.jsx(a.Content,{align:"top",children:o.jsx(a.InfoCard,{label:r("agitating"),padding:"x-large",value:r(d?"no":"yes")})}),o.jsx(a.Footer,{children:o.jsx(a.Button,{mode:"primary",disabled:d,onPointerDown:()=>console.log("agitate!"),children:r("test-shelf-agitator")})})]})})}),Le=()=>{const e=S.AgitationControl.type;return l.useKosModel({modelId:e,modelType:S.AgitationControl.type,options:{}})},K=e=>{var d,i;const[t,n]=u.useState(e==null?void 0:e.futureHandler.future),[s,r]=u.useState((i=(d=e==null?void 0:e.futureHandler)==null?void 0:d.future)==null?void 0:i.endState);u.useEffect(()=>{const p=l.kosAutoEffect(()=>{const m=e==null?void 0:e.futureHandler.future;n(m),r(m==null?void 0:m.endState)});return()=>{p(),e==null||e.futureHandler.removeFuture()}},[e==null?void 0:e.futureHandler]);const c=u.useCallback(()=>{e==null||e.futureHandler.removeFuture()},[e==null?void 0:e.futureHandler]);return{future:t,clearFuture:c,success:s===l.FutureEndState.Success,failure:s&&s!==l.FutureEndState.Success}},Rn=l.KosLog.createLogger({name:"future-progress-bar"}),Mt=y(a.CloseButton)`
8
+ `,Rt=l.kosComponent(({holder:e,onComplete:t})=>{const[n,r]=u.useState(!1),{t:s}=l.useKosTranslation("common"),{componentModeOverride:c}=a.useComponentConfigurationContext(),d=e.data.agitated;return o.jsx(a.Modal,{contain:c!=="compact",onClosed:t,show:!n,children:o.jsxs(_o,{children:[o.jsx(a.Header,{contain:c==="compact",showCloseButton:!0,title:s("shelf-agitator"),showOpenButton:!1,onClose:()=>r(!0),CloseButton:c==="compact"?a.BackButton:void 0}),o.jsx(a.Content,{align:"top",children:o.jsx(a.InfoCard,{label:s("agitating"),padding:"x-large",value:s(d?"no":"yes")})}),o.jsx(a.Footer,{children:o.jsx(a.Button,{mode:"primary",disabled:d,onPointerDown:()=>console.log("agitate!"),children:s("test-shelf-agitator")})})]})})}),Be=()=>{const e=k.AgitationControl.type;return l.useKosModel({modelId:e,modelType:k.AgitationControl.type,options:{}})},N=e=>{var d,i;const[t,n]=u.useState(e==null?void 0:e.futureHandler.future),[r,s]=u.useState((i=(d=e==null?void 0:e.futureHandler)==null?void 0:d.future)==null?void 0:i.endState);u.useEffect(()=>{const p=l.kosAutoEffect(()=>{const m=e==null?void 0:e.futureHandler.future;n(m),s(m==null?void 0:m.endState)});return()=>{p(),e==null||e.futureHandler.removeFuture()}},[e==null?void 0:e.futureHandler]);const c=u.useCallback(()=>{e==null||e.futureHandler.removeFuture()},[e==null?void 0:e.futureHandler]);return{future:t,clearFuture:c,success:r===l.FutureEndState.Success,failure:r&&r!==l.FutureEndState.Success}},Uo=l.KosLog.createLogger({name:"future-progress-bar"}),Nt=y(a.CloseButton)`
9
9
  --ddk-component-icon-button-icon-color-active: var(
10
10
  --ddk-component-progress-bar-close-button-color-active
11
11
  );
@@ -18,12 +18,12 @@
18
18
  --ddk-component-icon-button-icon-color-hover: var(
19
19
  --ddk-component-progress-bar-close-button-color-hover
20
20
  );
21
- `,Nn=y.div`
21
+ `,zo=y.div`
22
22
  display: flex;
23
23
  flex-direction: column;
24
24
  width: 100%;
25
25
  gap: 8px;
26
- `,Kt=y.div`
26
+ `,$t=y.div`
27
27
  align-items: var(--ddk-component-progress-bar-message-align-items);
28
28
  color: var(--ddk-component-progress-bar-message-color);
29
29
  display: flex;
@@ -31,18 +31,18 @@
31
31
  gap: var(--ddk-component-progress-bar-message-gap);
32
32
  justify-content: space-between;
33
33
  width: 100%;
34
- `,Rt=y.div`
34
+ `,Ot=y.div`
35
35
  display: flex;
36
36
  gap: var(--ddk-component-status-bar-gap);
37
37
  align-items: center;
38
- `,$n=y.div`
38
+ `,Wo=y.div`
39
39
  border-top: solid 1px #888888;
40
40
  padding-top: 8px;
41
41
  width: calc(100% - 10px);
42
- `,ee=({children:e,onPointerDown:t,title:n,subtitle:s})=>{const{componentModeOverride:r}=a.useComponentConfigurationContext(),{t:c}=l.useKosTranslation("common"),d=n??e;return o.jsxs(Kt,{children:[o.jsxs(Nn,{children:[o.jsxs(Rt,{style:{fontSize:"var(--ddk-component-progress-bar-message-font-size)"},children:[o.jsx(_.MessageErrorIcon,{style:{color:"var(--ddk-component-progress-bar-icon-color-failure)",fontSize:"var(--ddk-component-progress-bar-icon-size)"}}),d]}),s&&o.jsx($n,{children:s})]}),r==="compact"?o.jsx(a.Button,{mode:"primary",onPointerDown:t,children:c("close","Close")}):o.jsx(Mt,{label:!1,size:"large",onPointerDown:t})]})},fe=({children:e,onPointerDown:t})=>{const{componentModeOverride:n}=a.useComponentConfigurationContext(),{t:s}=l.useKosTranslation("common");return o.jsxs(Kt,{children:[o.jsxs(Rt,{children:[o.jsx(_.SuccessIcon,{style:{color:"var(--ddk-semantic-color-system-green)",fontSize:"var(--ddk-component-progress-bar-icon-size)"}}),e]}),n==="compact"?o.jsx(a.Button,{mode:"primary",onPointerDown:t,children:s("close","Close")}):o.jsx(Mt,{label:!1,size:"large",onPointerDown:t})]})},gt=e=>(e==null?void 0:e.title)&&(e==null?void 0:e.subtitle),D=l.kosComponent(({title:e,future:t,failureMessage:n,successMessage:s,cancelMessage:r,isCancelable:c=!0,onSuccess:d,onClose:i})=>{const{t:p}=l.useKosTranslation("common"),[m,x]=u.useState(!0),[g,h]=u.useState(),f=`${t==null?void 0:t.timeRemaining} ${p("remaining","remaining")}`,C=u.useCallback(()=>{g!=="in-progress"&&(i==null||i(),x(!1))},[i,g]),b=u.useCallback(()=>{C(),d==null||d()},[C,d]);u.useEffect(()=>{(t==null?void 0:t.status)==="IN_PROGRESS"||(t==null?void 0:t.status)==="NOT_ACTIVE"?(h("in-progress"),x(!0)):(t==null?void 0:t.status)==="SUCCESS"?(h("success"),x(!!s),s||(C(),d==null||d())):(t==null?void 0:t.status)==="FAIL"||(t==null?void 0:t.status)==="ABORT"?(h("failure"),x(!!n)):(t==null?void 0:t.status)==="CANCEL"?(h("cancelled"),x(!!r)):t&&Rn.error("unknown status",t==null?void 0:t.status)},[n,t,t==null?void 0:t.status,s,r,C,d]);const j=gt(n)?n.subtitle:void 0,P=gt(n)?n.title:n??p("something-went-wrong","Something went wrong");return t&&o.jsx(a.ProgressBar,{isCancelable:c,onCancel:()=>{t.cancelFuture()},blocked:g==="in-progress",onClose:C,renderFailure:n&&o.jsx(ee,{subtitle:j,onPointerDown:C,children:P}),renderCancel:r&&o.jsx(ee,{onPointerDown:C,children:r}),renderSuccess:s&&o.jsx(fe,{onPointerDown:b,children:s}),show:m,status:g,subtitle:f,title:e,value:t.progress})}),On=l.KosLog.createLogger({name:"agitation-control-view"});On.debug("agitation-control-view component loaded");const Vn=y.div``,Hn=l.kosComponent(()=>{const{model:e}=Le(),{t,i18n:n}=l.useKosTranslation("troubles"),{future:s,failure:r}=K(e),c=u.useCallback(()=>{e&&e.clearAll()},[e]),d=s==null?void 0:s.reason,i=d?`__troubles.errors.${d}__`:void 0,p="troubles.agitation.error",m=n.exists(`troubles.errors.${d}`);return o.jsx(Vn,{children:o.jsx(D,{title:t("troubles.agitation.title"),future:s,isCancelable:!0,onClose:c,failureMessage:t(p,{context:i&&m?"reason":void 0,data:{reason:i}})})})}),Nt=l.kosComponent(({pump:e,onComplete:t})=>{const{t:n}=l.useKosTranslation("common",{keyPrefix:"fcm-calibration"}),[s,r]=u.useState("high-flow-test-idle"),[c,d]=u.useState(),[i,p]=u.useState(),[m,x]=u.useState(),{future:g}=K(e);u.useEffect(()=>{switch(g==null?void 0:g.endState){case"CANCEL":switch(s){case"high-flow-test-in-progress":r("high-flow-test-idle");break;default:d("calibration-canceled"),r("failure")}break;case"SUCCESS":switch(s){case"high-flow-test-in-progress":r("high-flow-test-success");break;case"calibration-in-progress":r("calibration-input");break;case"verification-in-progress":r("verification-input");break}break;case"FAIL":d(g==null?void 0:g.reason),r("failure");break}},[g==null?void 0:g.endState,g==null?void 0:g.reason,s]);const h=u.useMemo(()=>({"high-flow-test-idle":{information:o.jsx(a.LabelInformation,{children:n("high-flow-test-idle-information")}),footer:o.jsx(a.Button,{onPointerDown:()=>{e.performPreCalibrate(),r("high-flow-test-in-progress")},children:n("initiate-high-flow-test")}),status:"information"},"high-flow-test-in-progress":{information:o.jsx(a.LabelInformation,{children:n("high-flow-test-in-progress-information")}),footer:o.jsx(a.Button,{disabled:!0,children:n("initiate-high-flow-test")}),status:"loading"},"high-flow-test-success":{information:o.jsx(a.LabelInformation,{children:n("high-flow-test-success-information")}),footer:o.jsx(a.Button,{onPointerDown:()=>r("calibration-idle"),children:n("proceed")}),status:"success"},"calibration-idle":{information:o.jsx(a.BodyMediumInformation,{children:n("calibration-idle-information")}),footer:o.jsx(a.Button,{onPointerDown:()=>{e.performCalibrate(),r("calibration-in-progress")},children:n("calibrate")}),status:"information"},"calibration-in-progress":{information:o.jsx(a.LabelInformation,{children:n("calibration-in-progress-information")}),status:"loading"},"calibration-input":{information:o.jsxs(o.Fragment,{children:[o.jsx(a.BodyMediumInformation,{children:n("calibration-input-information")}),o.jsx(a.InputCard,{label:"Volume",unitValue:"ml",layout:"num",onChange:f=>{f!==void 0&&p(f)},value:i!==void 0?i:""})]}),footer:o.jsx(a.Button,{disabled:i===void 0,onPointerDown:()=>{i!==void 0&&r("verification-idle")},children:n("proceed")}),status:"information"},"calibration-input-confirmation":{},"verification-idle":{information:o.jsx(a.BodyMediumInformation,{children:n("verification-idle-information")}),footer:o.jsx(a.Button,{onPointerDown:async()=>{i!==void 0&&(e.performVerify(i),r("verification-in-progress"))},children:n("initiate-verification-pour")}),status:"information"},"verification-in-progress":{information:o.jsx(a.LabelInformation,{children:n("verification-in-progress-information")}),status:"loading"},"verification-input":{information:o.jsxs(o.Fragment,{children:[o.jsx(a.BodyMediumInformation,{children:n("verification-input-information")}),o.jsx(a.InputCard,{label:"Volume",unitValue:"ml",layout:"num",onChange:f=>{f!==void 0&&x(f)},value:m!==void 0?m:""})]}),footer:o.jsx(a.Button,{disabled:m===void 0,onPointerDown:async()=>{if(i===void 0||m===void 0)return;const f=await e.performComplete(i,m);f==="success"?r("verification-success"):(d(f),r(f==="errBadPump"?"verification-failure":"failure"))},children:n("proceed")}),status:"information"},"verification-input-confirmation":{},"verification-success":{information:o.jsx(a.LabelInformation,{children:n("verification-success-information")}),footer:o.jsx(a.Button,{onPointerDown:t,children:n("exit-calibration")}),status:"success"},"verification-failure":{information:o.jsx(a.LabelInformation,{children:n(`error.${c}`)}),footer:o.jsx(a.Button,{onPointerDown:t,children:n("exit-calibration")}),status:"error"},failure:{information:o.jsxs(o.Fragment,{children:[o.jsx(a.LabelInformation,{children:n("calibration-failed")}),o.jsx(a.BodyMediumInformation,{children:n(`error.${c||"unknownError"}`)})]}),footer:o.jsx(a.Button,{onPointerDown:t,children:n("exit-calibration")}),status:"error"}}),[c,t,e,n,i,m]);return o.jsxs(o.Fragment,{children:[o.jsx(a.WorkflowModal,{title:n(e.name),...h[s],onClose:()=>t()}),g&&o.jsx(D,{title:n("initiating"),future:g})]})}),_n=l.kosComponent(({cardModel:e})=>{l.KosLog.debug("Agitator",e.path);const{t}=l.useKosTranslation(["agitator","common"]),{future:n}=K(e),s=u.useCallback(r=>{r==="agitate"&&(e==null||e.testAgitate())},[e]);return o.jsxs(o.Fragment,{children:[o.jsx(a.Content,{children:o.jsx(a.InfoCard,{label:"Agitating",value:e.isAgitating?t("common:yes"):t("common:no")})}),o.jsx(a.Footer,{children:o.jsx(a.Button,{onPointerDown:()=>s("agitate"),children:t("action.label",{context:"agitator"})})}),n&&o.jsx(D,{title:t("testing"),future:n})]})}),Un=y.div`
42
+ `,ee=({children:e,onPointerDown:t,title:n,subtitle:r})=>{const{componentModeOverride:s}=a.useComponentConfigurationContext(),{t:c}=l.useKosTranslation("common"),d=n??e;return o.jsxs($t,{children:[o.jsxs(zo,{children:[o.jsxs(Ot,{style:{fontSize:"var(--ddk-component-progress-bar-message-font-size)"},children:[o.jsx(U.MessageErrorIcon,{style:{color:"var(--ddk-component-progress-bar-icon-color-failure)",fontSize:"var(--ddk-component-progress-bar-icon-size)"}}),d]}),r&&o.jsx(Wo,{children:r})]}),s==="compact"?o.jsx(a.Button,{mode:"primary",onPointerDown:t,children:c("close","Close")}):o.jsx(Nt,{label:!1,size:"large",onPointerDown:t})]})},xe=({children:e,onPointerDown:t})=>{const{componentModeOverride:n}=a.useComponentConfigurationContext(),{t:r}=l.useKosTranslation("common");return o.jsxs($t,{children:[o.jsxs(Ot,{children:[o.jsx(U.SuccessIcon,{style:{color:"var(--ddk-semantic-color-system-green)",fontSize:"var(--ddk-component-progress-bar-icon-size)"}}),e]}),n==="compact"?o.jsx(a.Button,{mode:"primary",onPointerDown:t,children:r("close","Close")}):o.jsx(Nt,{label:!1,size:"large",onPointerDown:t})]})},ft=e=>(e==null?void 0:e.title)&&(e==null?void 0:e.subtitle),F=l.kosComponent(({title:e,future:t,failureMessage:n,successMessage:r,cancelMessage:s,isCancelable:c=!0,onSuccess:d,onClose:i})=>{const{t:p}=l.useKosTranslation("common"),[m,x]=u.useState(!0),[g,h]=u.useState(),b=`${t==null?void 0:t.timeRemaining} ${p("remaining","remaining")}`,v=u.useCallback(()=>{g!=="in-progress"&&(i==null||i(),x(!1))},[i,g]),f=u.useCallback(()=>{v(),d==null||d()},[v,d]);u.useEffect(()=>{(t==null?void 0:t.status)==="IN_PROGRESS"||(t==null?void 0:t.status)==="NOT_ACTIVE"?(h("in-progress"),x(!0)):(t==null?void 0:t.status)==="SUCCESS"?(h("success"),x(!!r),r||(v(),d==null||d())):(t==null?void 0:t.status)==="FAIL"||(t==null?void 0:t.status)==="ABORT"?(h("failure"),x(!!n)):(t==null?void 0:t.status)==="CANCEL"?(h("cancelled"),x(!!s)):t&&Uo.error("unknown status",t==null?void 0:t.status)},[n,t,t==null?void 0:t.status,r,s,v,d]);const j=ft(n)?n.subtitle:void 0,T=ft(n)?n.title:n??p("something-went-wrong","Something went wrong");return t&&o.jsx(a.ProgressBar,{isCancelable:c,onCancel:()=>{t.cancelFuture()},blocked:g==="in-progress",onClose:v,renderFailure:n&&o.jsx(ee,{subtitle:j,onPointerDown:v,children:T}),renderCancel:s&&o.jsx(ee,{onPointerDown:v,children:s}),renderSuccess:r&&o.jsx(xe,{onPointerDown:f,children:r}),show:m,status:g,subtitle:b,title:e,value:t.progress})}),Go=l.KosLog.createLogger({name:"agitation-control-view"});Go.debug("agitation-control-view component loaded");const qo=y.div``,Xo=l.kosComponent(()=>{const{model:e}=Be(),{t,i18n:n}=l.useKosTranslation("troubles"),{future:r,failure:s}=N(e),c=u.useCallback(()=>{e&&e.clearAll()},[e]),d=r==null?void 0:r.reason,i=d?`__troubles.errors.${d}__`:void 0,p="troubles.agitation.error",m=n.exists(`troubles.errors.${d}`);return o.jsx(qo,{children:o.jsx(F,{title:t("troubles.agitation.title"),future:r,isCancelable:!0,onClose:c,failureMessage:t(p,{context:i&&m?"reason":void 0,data:{reason:i}})})})}),Vt=l.kosComponent(({pump:e,onComplete:t})=>{const{t:n}=l.useKosTranslation("common",{keyPrefix:"fcm-calibration"}),[r,s]=u.useState("high-flow-test-idle"),[c,d]=u.useState(),[i,p]=u.useState(),[m,x]=u.useState(),{future:g}=N(e);u.useEffect(()=>{switch(g==null?void 0:g.endState){case"CANCEL":switch(r){case"high-flow-test-in-progress":s("high-flow-test-idle");break;default:d("calibration-canceled"),s("failure")}break;case"SUCCESS":switch(r){case"high-flow-test-in-progress":s("high-flow-test-success");break;case"calibration-in-progress":s("calibration-input");break;case"verification-in-progress":s("verification-input");break}break;case"FAIL":d(g==null?void 0:g.reason),s("failure");break}},[g==null?void 0:g.endState,g==null?void 0:g.reason,r]);const h=u.useMemo(()=>({"high-flow-test-idle":{information:o.jsx(a.LabelInformation,{children:n("high-flow-test-idle-information")}),footer:o.jsx(a.Button,{onPointerDown:()=>{e.performPreCalibrate(),s("high-flow-test-in-progress")},children:n("initiate-high-flow-test")}),status:"information"},"high-flow-test-in-progress":{information:o.jsx(a.LabelInformation,{children:n("high-flow-test-in-progress-information")}),footer:o.jsx(a.Button,{disabled:!0,children:n("initiate-high-flow-test")}),status:"loading"},"high-flow-test-success":{information:o.jsx(a.LabelInformation,{children:n("high-flow-test-success-information")}),footer:o.jsx(a.Button,{onPointerDown:()=>s("calibration-idle"),children:n("proceed")}),status:"success"},"calibration-idle":{information:o.jsx(a.BodyMediumInformation,{children:n("calibration-idle-information")}),footer:o.jsx(a.Button,{onPointerDown:()=>{e.performCalibrate(),s("calibration-in-progress")},children:n("calibrate")}),status:"information"},"calibration-in-progress":{information:o.jsx(a.LabelInformation,{children:n("calibration-in-progress-information")}),status:"loading"},"calibration-input":{information:o.jsxs(o.Fragment,{children:[o.jsx(a.BodyMediumInformation,{children:n("calibration-input-information")}),o.jsx(a.InputCard,{label:"Volume",unitValue:"ml",layout:"num",onChange:b=>{b!==void 0&&p(b)},value:i!==void 0?i:""})]}),footer:o.jsx(a.Button,{disabled:i===void 0,onPointerDown:()=>{i!==void 0&&s("verification-idle")},children:n("proceed")}),status:"information"},"calibration-input-confirmation":{},"verification-idle":{information:o.jsx(a.BodyMediumInformation,{children:n("verification-idle-information")}),footer:o.jsx(a.Button,{onPointerDown:async()=>{i!==void 0&&(e.performVerify(i),s("verification-in-progress"))},children:n("initiate-verification-pour")}),status:"information"},"verification-in-progress":{information:o.jsx(a.LabelInformation,{children:n("verification-in-progress-information")}),status:"loading"},"verification-input":{information:o.jsxs(o.Fragment,{children:[o.jsx(a.BodyMediumInformation,{children:n("verification-input-information")}),o.jsx(a.InputCard,{label:"Volume",unitValue:"ml",layout:"num",onChange:b=>{b!==void 0&&x(b)},value:m!==void 0?m:""})]}),footer:o.jsx(a.Button,{disabled:m===void 0,onPointerDown:async()=>{if(i===void 0||m===void 0)return;const b=await e.performComplete(i,m);b==="success"?s("verification-success"):(d(b),s(b==="errBadPump"?"verification-failure":"failure"))},children:n("proceed")}),status:"information"},"verification-input-confirmation":{},"verification-success":{information:o.jsx(a.LabelInformation,{children:n("verification-success-information")}),footer:o.jsx(a.Button,{onPointerDown:t,children:n("exit-calibration")}),status:"success"},"verification-failure":{information:o.jsx(a.LabelInformation,{children:n(`error.${c}`)}),footer:o.jsx(a.Button,{onPointerDown:t,children:n("exit-calibration")}),status:"error"},failure:{information:o.jsxs(o.Fragment,{children:[o.jsx(a.LabelInformation,{children:n("calibration-failed")}),o.jsx(a.BodyMediumInformation,{children:n(`error.${c||"unknownError"}`)})]}),footer:o.jsx(a.Button,{onPointerDown:t,children:n("exit-calibration")}),status:"error"}}),[c,t,e,n,i,m]);return o.jsxs(o.Fragment,{children:[o.jsx(a.WorkflowModal,{title:n(e.name),...h[r],onClose:()=>t()}),g&&o.jsx(F,{title:n("initiating"),future:g})]})}),Yo=l.kosComponent(({cardModel:e})=>{l.KosLog.debug("Agitator",e.path);const{t}=l.useKosTranslation(["agitator","common"]),{future:n}=N(e),r=u.useCallback(s=>{s==="agitate"&&(e==null||e.testAgitate())},[e]);return o.jsxs(o.Fragment,{children:[o.jsx(a.Content,{children:o.jsx(a.InfoCard,{label:"Agitating",value:e.isAgitating?t("common:yes"):t("common:no")})}),o.jsx(a.Footer,{children:o.jsx(a.Button,{onPointerDown:()=>r("agitate"),children:t("action.label",{context:"agitator"})})}),n&&o.jsx(F,{title:t("testing"),future:n})]})}),Zo=y.div`
43
43
  font-size: var(--ddk-component-holder-card-footer-font-size);
44
44
  color: ${e=>e.color??"var(--ddk-generic-color-black)"};
45
- `,zn=l.kosComponent(e=>{l.KosLog.debug(`summary component loaded for holder ${e}`),l.KosLog.info(`render agitator summary for holder ${e.cardModel.path}`);const{t}=l.useKosTranslation("common");return o.jsxs(o.Fragment,{children:[o.jsx(a.StatusIndicator,{size:"small",status:"completed"}),e.cardModel.isAgitating&&o.jsx(Un,{children:t("agitating")})]})}),Wn={getStagedChange:void 0,updateStagedChange:void 0,saveChanges:void 0,clearStagedChanges:void 0},$t=u.createContext(Wn),Ot=({children:e})=>{const[t,n]=u.useState({}),s=i=>t[i],r=(i,p)=>{n(m=>({...m,[i]:p}))},c=()=>n({}),d=async()=>{for(const i in t)t[i].configProperty.updateProperty(t[i].value);c()};return o.jsx($t.Provider,{value:{getStagedChange:s,updateStagedChange:r,saveChanges:d,clearStagedChanges:c},children:e})},Ee=()=>u.useContext($t),Gn=e=>t=>o.jsx(Ot,{children:o.jsx(e,{...t})}),Vt=({label:e,configProperty:t})=>{const{value:n}=l.useConfigProperty({configProperty:t});return o.jsx(a.InfoCard,{label:e,value:n})},be=({configProperty:e,hideUnits:t,isValid:n,...s})=>{var x,g;const{t:r}=l.useKosTranslation("common",{keyPrefix:"validation"}),{significantValue:c}=l.useConfigProperty({configProperty:e}),d=h=>{h||(h=""),e.updateProperty(h)},i=(x=e.displayOptions)==null?void 0:x.max,p=(g=e.displayOptions)==null?void 0:g.min,m=u.useCallback(h=>{const f=n==null?void 0:n(h);return f||(Number(h)<p?r("minValue",{data:{minValue:p}}):Number(h)>i?r("maxValue",{data:{maxValue:i}}):void 0)},[n,i,p,r]);return o.jsx(a.InputCard,{...s,isValid:m,onChange:d,unitValue:t?void 0:e.unit,value:c})},H=({configProperty:e,label:t,onChange:n,...s})=>{var d,i;const{t:r}=l.useKosTranslation(["config-properties","common"]),c=l.useConfigProperty({configProperty:e});return o.jsx(a.InputRangeCard,{...s,label:t??r(e.id),layout:"num",maxValue:(d=c.displayOptions)==null?void 0:d.max,minValue:(i=c.displayOptions)==null?void 0:i.min,onChange:p=>e.updateProperty(p),unitValue:c.unit,value:c.significantValue})},te=({configProperty:e,overrideChecked:t,...n})=>{var p;const{getStagedChange:s,updateStagedChange:r}=Ee(),{value:c}=l.useConfigProperty({configProperty:e}),d=((p=s==null?void 0:s(e.id))==null?void 0:p.value)??c,i=m=>{r?r(e.id,{configProperty:e,value:m}):e.updateProperty(m)};return o.jsx(a.ToggleCard,{toggleLabel:d==="true"?"Enabled":"Disabled",...n,onChange:i,checked:t!==void 0?t:d==="true"})},qn=e=>(e==null?void 0:e.map(t=>({id:t.value,label:t.label})))||[],Ce=({collapse:e,cancelButtonLabel:t,configProperty:n,displayMode:s="raw",displayValue:r,float:c,items:d,label:i,onChange:p,onSave:m,proceedButtonLabel:x,selectedItemId:g,unitValue:h,...f})=>{const{t:C}=l.useKosTranslation(["config-properties","common"]),b=l.useConfigProperty({configProperty:n,optionsTransformer:qn});return o.jsx(a.PickerCard,{...f,cancelButtonLabel:t??(C("discard-changes",{defaultValue:"Discard Changes",ns:"common"})||void 0),collapse:e,displayValue:r??s==="raw"?b.value:b.displayValue,float:c,items:d??b.mappedOptions,label:i??C(n.id),onSave:j=>m?m(j):n.updateProperty(j),proceedButtonLabel:x??(C("save",{defaultValue:"Save",ns:"common"})||void 0),selectedItemId:g??b.value,unitValue:h??b.unit})},Xn=y(be)`
45
+ `,Qo=l.kosComponent(e=>{l.KosLog.debug(`summary component loaded for holder ${e}`),l.KosLog.info(`render agitator summary for holder ${e.cardModel.path}`);const{t}=l.useKosTranslation("common");return o.jsxs(o.Fragment,{children:[o.jsx(a.StatusIndicator,{size:"small",status:"completed"}),e.cardModel.isAgitating&&o.jsx(Zo,{children:t("agitating")})]})}),Jo={getStagedChange:void 0,updateStagedChange:void 0,saveChanges:void 0,clearStagedChanges:void 0},Ht=u.createContext(Jo),_t=({children:e})=>{const[t,n]=u.useState({}),r=i=>t[i],s=(i,p)=>{n(m=>({...m,[i]:p}))},c=()=>n({}),d=async()=>{for(const i in t)t[i].configProperty.updateProperty(t[i].value);c()};return o.jsx(Ht.Provider,{value:{getStagedChange:r,updateStagedChange:s,saveChanges:d,clearStagedChanges:c},children:e})},Me=()=>u.useContext(Ht),en=e=>t=>o.jsx(_t,{children:o.jsx(e,{...t})}),Ut=({label:e,configProperty:t})=>{const{value:n}=l.useConfigProperty({configProperty:t});return o.jsx(a.InfoCard,{label:e,value:n})},he=({configProperty:e,hideUnits:t,isValid:n,...r})=>{var x,g;const{t:s}=l.useKosTranslation("common",{keyPrefix:"validation"}),{significantValue:c}=l.useConfigProperty({configProperty:e}),d=h=>{h||(h=""),e.updateProperty(h)},i=(x=e.displayOptions)==null?void 0:x.max,p=(g=e.displayOptions)==null?void 0:g.min,m=u.useCallback(h=>{const b=n==null?void 0:n(h);return b||(Number(h)<p?s("minValue",{data:{minValue:p}}):Number(h)>i?s("maxValue",{data:{maxValue:i}}):void 0)},[n,i,p,s]);return o.jsx(a.InputCard,{...r,isValid:m,onChange:d,unitValue:t?void 0:e.unit,value:c})},_=({configProperty:e,label:t,onChange:n,...r})=>{var d,i;const{t:s}=l.useKosTranslation(["config-properties","common"]),c=l.useConfigProperty({configProperty:e});return o.jsx(a.InputRangeCard,{...r,label:t??s(e.id),layout:"num",maxValue:(d=c.displayOptions)==null?void 0:d.max,minValue:(i=c.displayOptions)==null?void 0:i.min,onChange:p=>e.updateProperty(p),unitValue:c.unit,value:c.significantValue})},te=({configProperty:e,overrideChecked:t,...n})=>{var p;const{getStagedChange:r,updateStagedChange:s}=Me(),{value:c}=l.useConfigProperty({configProperty:e}),d=((p=r==null?void 0:r(e.id))==null?void 0:p.value)??c,i=m=>{s?s(e.id,{configProperty:e,value:m}):e.updateProperty(m)};return o.jsx(a.ToggleCard,{toggleLabel:d==="true"?"Enabled":"Disabled",...n,onChange:i,checked:t!==void 0?t:d==="true"})},tn=e=>(e==null?void 0:e.map(t=>({id:t.value,label:t.label})))||[],fe=({collapse:e,cancelButtonLabel:t,configProperty:n,displayMode:r="raw",displayValue:s,float:c,items:d,label:i,onChange:p,onSave:m,proceedButtonLabel:x,selectedItemId:g,unitValue:h,...b})=>{const{t:v}=l.useKosTranslation(["config-properties","common"]),f=l.useConfigProperty({configProperty:n,optionsTransformer:tn});return o.jsx(a.PickerCard,{...b,cancelButtonLabel:t??(v("discard-changes",{defaultValue:"Discard Changes",ns:"common"})||void 0),collapse:e,displayValue:s??r==="raw"?f.value:f.displayValue,float:c,items:d??f.mappedOptions,label:i??v(n.id),onSave:j=>m?m(j):n.updateProperty(j),proceedButtonLabel:x??(v("save",{defaultValue:"Save",ns:"common"})||void 0),selectedItemId:g??f.value,unitValue:h??f.unit})},on=y(he)`
46
46
  border-top: var(--ddk-component-input-enable-card-input-container-border);
47
47
  border-radius: 0;
48
48
  cursor: pointer;
@@ -78,7 +78,7 @@
78
78
  --ddk-component-input-enable-card-input-font-weight
79
79
  );
80
80
  }
81
- `,Yn=y(Ce)`
81
+ `,nn=y(fe)`
82
82
  border-top: var(--ddk-component-input-enable-card-input-container-border);
83
83
  border-radius: 0;
84
84
  cursor: pointer;
@@ -115,14 +115,14 @@
115
115
  --ddk-component-input-enable-card-input-font-weight
116
116
  );
117
117
  }
118
- `,Zn=(e,t,n,s,r)=>{let c;const d=r==="compact"?Xn:be,i=r==="compact"?Yn:Ce,p=s.label??n(e.id);switch(e.schemaType){case"boolean":c=o.jsx(te,{configProperty:e,...s,label:p});break;case"double":c=o.jsx(H,{configProperty:e,...s,label:p});break;case"int":c=o.jsx(H,{configProperty:e,...s,label:p});break;case"String":c=o.jsx(d,{configProperty:e,...s,label:p});break;case"enum":c=o.jsx(i,{configProperty:e,...s,label:p});break}return c},Qn=e=>(e==null?void 0:e.map(t=>({id:t.value,label:t.label})))||[],Ht=({configProperty:e,factory:t,mappedOptions:n,t:s,...r})=>{const{t:c}=l.useKosTranslation(["config-properties","common"]),{componentModeOverride:d}=a.useComponentConfigurationContext(),i=l.useConfigProperty({configProperty:e,optionsTransformer:Qn});return t=t??Zn,t(e,{...i,mappedOptions:n??i.mappedOptions},s??c,r,d)},Jn=y(a.Card)`
118
+ `,sn=(e,t,n,r,s)=>{let c;const d=s==="compact"?on:he,i=s==="compact"?nn:fe,p=r.label??n(e.id);switch(e.schemaType){case"boolean":c=o.jsx(te,{configProperty:e,...r,label:p});break;case"double":c=o.jsx(_,{configProperty:e,...r,label:p});break;case"int":c=o.jsx(_,{configProperty:e,...r,label:p});break;case"String":c=o.jsx(d,{configProperty:e,...r,label:p});break;case"enum":c=o.jsx(i,{configProperty:e,...r,label:p});break}return c},rn=e=>(e==null?void 0:e.map(t=>({id:t.value,label:t.label})))||[],zt=({configProperty:e,factory:t,mappedOptions:n,t:r,...s})=>{const{t:c}=l.useKosTranslation(["config-properties","common"]),{componentModeOverride:d}=a.useComponentConfigurationContext(),i=l.useConfigProperty({configProperty:e,optionsTransformer:rn});return t=t??sn,t(e,{...i,mappedOptions:n??i.mappedOptions},r??c,s,d)},an=y(a.Card)`
119
119
  align-items: ${e=>e.mode==="compact"?"flex-start":void 0};
120
120
  flex-direction: var(
121
121
  --ddk-component-input-enable-card-container-flex-direction
122
122
  );
123
123
  padding: var(--ddk-component-input-enable-card-container-padding);
124
124
  gap: var(--ddk-component-input-enable-card-container-gap);
125
- `,eo=y.div`
125
+ `,cn=y.div`
126
126
  box-sizing: border-box;
127
127
  display: flex;
128
128
  flex-direction: var(
@@ -130,27 +130,27 @@
130
130
  );
131
131
  gap: var(--ddk-component-input-enable-card-input-container-gap);
132
132
  width: 100%;
133
- `,to=y(Ht)`
133
+ `,ln=y(zt)`
134
134
  width: 100%;
135
- `,no=y.div`
135
+ `,dn=y.div`
136
136
  box-sizing: border-box;
137
137
  padding: ${e=>e.compact?"var(--ddk-component-input-enable-card-toggle-container-padding)":"0"};
138
138
  width: var(--ddk-component-input-enable-card-toggle-container-width);
139
- `,_t=({configProperties:e,disabled:t,enabledConfigProperty:n})=>{const{value:s}=l.useConfigProperty({configProperty:n}),r=s==="true",{componentModeOverride:c}=a.useComponentConfigurationContext(),d=e.length===1,i=d?to:Ht;return o.jsxs(Jn,{disabled:!r||t,mode:c,children:[o.jsx(eo,{children:e.map(p=>o.jsx(i,{disabled:!r||t,label:p.options?p.options.label:void 0,configProperty:p.configProperty,collapse:!d&&c==="standard",layout:p.options?p.options.layout:void 0,float:!0,hideUnits:p.options?p.options.hideUnits:void 0},p.configProperty.id))}),o.jsx(no,{compact:!d||c==="compact",children:o.jsx(te,{alwaysShowLabel:!0,collapse:!0,configProperty:n,disabled:t,stretch:c==="compact"})})]})},oo=({configProperty:e,disabled:t,enabledConfigProperty:n,options:s})=>{const r=u.useMemo(()=>[{configProperty:e,options:s}],[e,s]);return o.jsx(_t,{configProperties:r,disabled:t,enabledConfigProperty:n})},Ut=({configProperty:e,...t})=>{const{value:n}=l.useConfigProperty({configProperty:e}),s=r=>{r!==void 0&&(e==null||e.updateProperty(String(r)))};return o.jsx(a.SwitchCard,{...t,onChange:s,value:n})},zt=({description:e,float:t,label:n,modalTitle:s,onSave:r,time:c,...d})=>{const{regionModel:i}=l.useKosRegions(),{t:p}=l.useKosTranslation("common",{keyPrefix:"schedule"}),{amPmOptions:m,formattedTime:x,hourOptions:g,minuteOptions:h,setTime:f,time:C}=l.useRegionTimeProps({initialDate:c}),b=C.getHours(),j=u.useMemo(()=>[{id:"hr",items:g,selectedItemId:b<12?b:b-12,loop:!0},{id:"min",items:h,selectedItemId:C.getMinutes(),loop:!0},{id:"ampm",items:m,selectedItemId:b<12?"AM":"PM"}],[m,g,h,C,b]),P=u.useMemo(()=>[{id:"hr",items:g,selectedItemId:b,loop:!0},{id:"min",items:h,selectedItemId:C.getMinutes(),loop:!0}],[g,h,C,b]);return o.jsx(a.MultiPickerCard,{...d,cancelButtonLabel:p("discard-changes","Discard Changes")||void 0,closeButtonLabel:p("close","Close")||void 0,data:i!=null&&i.is12HourTimeFormat?j:P,description:e,displayValue:x,float:t,icon:_.TimeIcon,label:n,modalTitle:s,proceedButtonLabel:p("save","Save")||void 0,onSave:T=>{const k=i!=null&&i.is12HourTimeFormat?T.ampm==="AM"?T.hr:T.hr+12:T.hr,w=T.min,v=new Date(C);v.setHours(k),v.setMinutes(w),f(v),r==null||r({hours:k,minutes:w})}})},Wt=({configProperty:e,...t})=>{var x;const{getStagedChange:n,updateStagedChange:s}=Ee(),{value:r}=l.useConfigProperty({configProperty:e}),c=((x=n==null?void 0:n(e.id))==null?void 0:x.value)??r,{hours:d,minutes:i}=S.toTimeComponents(Number(c)),p=new Date;p.setHours(d),p.setMinutes(i);const m=g=>{const h=S.toSeconds(g.hours,g.minutes);s?s(e.id,{configProperty:e,value:h}):e.updateProperty(h)};return o.jsx(zt,{...t,onSave:m,time:p})},so=[0,6],Gt=({day:e=new Date().getDate(),month:t=new Date().getMonth(),onSave:n,year:s=new Date().getFullYear(),...r})=>{var f,C,b,j,P,T;const{t:c}=l.useKosTranslation("region"),{regionModel:d}=l.useKosRegions(),i=l.useDateProps({date:{year:s,month:t,day:e},formatOptions:{dayFormat:"short",yearFormat:"long",monthFormat:"long",formatString:(d==null?void 0:d.selectedDateFormat)||"yyyy/MM/dd"},filterOptions:{daysOfWeekFilter:so,yearsRange:[s-10,s+10]}}),p=u.useMemo(()=>{var k,w;return(w=(k=i==null?void 0:i.dateState)==null?void 0:k.yearsOptionsArray)==null?void 0:w.map(v=>({id:v.value,label:v.label}))},[(f=i==null?void 0:i.dateState)==null?void 0:f.yearsOptionsArray]),m=u.useMemo(()=>{var k,w;return(w=(k=i==null?void 0:i.dateState)==null?void 0:k.daysOptionsArray)==null?void 0:w.map(v=>({id:v.value,label:v.label}))},[(C=i==null?void 0:i.dateState)==null?void 0:C.daysOptionsArray]),x=u.useMemo(()=>{var k,w;return(w=(k=i==null?void 0:i.dateState)==null?void 0:k.monthsOptionsArray)==null?void 0:w.map(v=>({id:v.value,label:String(v.label)}))},[(b=i==null?void 0:i.dateState)==null?void 0:b.monthsOptionsArray]),g=u.useMemo(()=>{const k=[];return d==null||d.selectedDateOrder.split("").forEach(w=>{var v,A,F;w==="y"?k.push({id:"year",items:p,selectedItemId:(v=i==null?void 0:i.dateState)==null?void 0:v.year,loop:!1}):w==="m"?k.push({id:"month",items:x,selectedItemId:(A=i==null?void 0:i.dateState)==null?void 0:A.month}):w==="d"&&k.push({id:"day",items:m,selectedItemId:(F=i==null?void 0:i.dateState)==null?void 0:F.day,loop:!1})}),k},[(j=i==null?void 0:i.dateState)==null?void 0:j.day,(P=i==null?void 0:i.dateState)==null?void 0:P.month,(T=i==null?void 0:i.dateState)==null?void 0:T.year,m,x,d==null?void 0:d.selectedDateOrder,p]),h=u.useCallback(async k=>{const v=new Date(k.year,k.month+1,0).getDate(),A=k.day>v?1:k.day;n({day:A,month:k.month,year:k.year})},[n]);return o.jsx(a.MultiPickerCard,{cancelButtonLabel:c("discard-changes","Discard Changes")||void 0,closeButtonLabel:c("close","Close")||void 0,data:g,displayValue:i.dateState.formattedDate,icon:_.CalendarIcon,label:c("todays-date","Today's Date"),onSave:h,proceedButtonLabel:c("save","Save")||void 0,...r})},qt=l.kosComponent(({pump:e,onComplete:t})=>{const{t:n}=l.useKosTranslation("common",{keyPrefix:"fcm-diagnostics"}),[s,r]=u.useState("idle"),[c,d]=u.useState(),i=u.useCallback(async()=>{r("test"),d(void 0);const m=await e.performElectricalTest();m.error?(d(m.error),r("failure")):m.result==="errEEPROM"?(d("errEEPROM"),r("failure")):r("success")},[e]),p=u.useMemo(()=>({idle:{information:o.jsx(a.LabelInformation,{children:n("perform-electrical-test")}),footer:o.jsx(a.Button,{onPointerDown:i,children:n("electrical-test")})},test:{information:o.jsx(a.LabelInformation,{children:n("testing")}),footer:o.jsx(a.Button,{disabled:!0,children:n("electrical-test")}),status:"loading"},success:{information:o.jsx(a.LabelInformation,{children:n("electrical-test-success-header")}),footer:o.jsx(a.Button,{onPointerDown:i,children:n("electrical-test")}),status:"success"},failure:{information:o.jsxs(o.Fragment,{children:[o.jsx(a.LabelInformation,{children:n("electrical-test-failure-header")}),o.jsx(a.BodyMediumInformation,{children:n(`error.${c}`)})]}),footer:o.jsx(a.Button,{onPointerDown:i,children:n("electrical-test")}),status:"information"}}),[c,n,i]);return o.jsx(a.WorkflowModal,{title:n(e.name),...p[s],onClose:()=>t()})}),Ae={title:"",summary:"",successMessage:"",failureMessage:"",actionLabel:""},ro=e=>{const[t,n]=u.useState(null),[s,r]=u.useState(Ae),c=e.map(d=>{const[i,,p]=d;return[i==null?void 0:i.future,i,p]}).flat();return u.useEffect(()=>{const d=e.find(i=>{const[p]=i;return!!(p!=null&&p.future)});d?(n(d[0]),r(d[2])):(n(null),r(Ae))},[...c,e]),[t,s]},io=e=>{switch(e){case"calibrate":return wt;case"fixed-45":return jt;case"flush":return St;case"high-flow-test":return kt;case"hold-to-pour":return Pt;case"low-flow-test":return Tt;case"manual-override":return It;case"msv-reset":return Dt;case"prime":return At;case"purge":return Ft;default:return}},ao=e=>(t,n="intents")=>({title:e(`${n}:troubles.${t}.progress`),summary:e(`${n}:troubles.${t}.summary`),successMessage:e(`${n}:troubles.${t}.success`),failureMessage:e(`${n}:troubles.${t}.error`),actionLabel:e(`${n}:troubles.${t}.action`)}),ne=(e,t=io)=>{const{t:n}=l.useKosTranslation("troubles"),[s,r]=u.useState(null),[c,d]=u.useState(Ae),i=u.useCallback(async p=>{const m=t(p);if(m){const x=ao(n)(p);d(x);const g=new m(e);await g.performAction(),r(g)}},[t,e,n]);return[s,i,c]},co=e=>(l.KosLog.debug(`pumpActionFactory: actionId=${e}`),Et),lo=e=>(t,n="troubles")=>({title:e(`${n}:troubles.${t}.progress`),summary:e(`${n}:troubles.${t}.summary`),successMessage:e(`${n}:troubles.${t}.success`),failureMessage:e(`${n}:troubles.${t}.error`),actionLabel:e(`${n}:troubles.${t}.action`)}),uo=(e,t,n=co)=>{const{t:s}=l.useKosTranslation("troubles"),[r,c]=u.useState(null),[d]=u.useState(lo(s)(t)),i=u.useCallback(async()=>{const p=n(t);if(p){const m=new p(e,t);await m.performAction(),c(m)}},[n,e,t]);return[r,i,d]};function po(e){return t=>{const{model:n,status:s,KosModelLoader:r}=Le();return o.jsx(r,{...s,children:o.jsx(e,{...t,agitationControl:n})})}}const Be=()=>{const e=S.Animation.type;return l.useKosModel({modelId:e,modelType:S.Animation.type,options:{}})};function Xt(e){return t=>{const{model:n,status:s,KosModelLoader:r}=Be();return o.jsx(r,{...s,children:o.jsx(e,{...t,animation:n})})}}const oe=()=>{const e=S.Application.type;return l.useKosModel({modelId:e,modelType:S.Application.type,options:{}})};function mo(e){return t=>{const{model:n,status:s,KosModelLoader:r}=oe();return o.jsx(r,{...s,children:o.jsx(e,{...t,application:n})})}}const Yt=()=>{const e=S.CarbWater.type;return l.useKosModel({modelId:e,modelType:S.CarbWater.type,options:{}})};function go(e){return t=>{const{model:n,status:s,KosModelLoader:r}=Yt();return o.jsx(r,{...s,children:o.jsx(e,{...t,carbWater:n})})}}const Zt=()=>{const e=S.CopyLogs.type;return l.useKosModel({modelId:e,modelType:S.CopyLogs.type,options:{},activate:!0,destroyOnUnmount:!0})};function xo(e){return t=>{const{model:n,status:s,KosModelLoader:r}=Zt();return o.jsx(r,{...s,children:o.jsx(e,{...t,copyLogs:n})})}}const Me=()=>{const e=S.DashboardOperations.type;return l.useKosModel({modelId:e,modelType:S.DashboardOperations.type,options:{}})};function ho(e){return t=>{const{model:n,status:s,KosModelLoader:r}=Me();return o.jsx(r,{...s,children:o.jsx(e,{...t,dashboardOperations:n})})}}const Ke=()=>{const e=S.DispenserInfo.type;return l.useKosModel({modelId:e,modelType:S.DispenserInfo.type,options:{}})};function Qt(e){return t=>{const{model:n,status:s,KosModelLoader:r}=Ke();return o.jsx(r,{...s,children:o.jsx(e,{...t,dispenserInfo:n})})}}const Jt=e=>{const t=e;return l.useKosModel({modelId:t,modelType:S.Door.type,options:{}})};function fo(e){return t=>{const{model:n,status:s,KosModelLoader:r}=Jt(t.id);return o.jsx(r,{...s,children:o.jsx(e,{...t,door:n})})}}const xt={[L.EXTENSION_POINT_SETUP]:"setupDescriptor",[L.EXTENSION_POINT_CUI]:"cuiDescriptor",[L.EXTENSION_POINT_UTIL]:"utilDescriptor"},en=({defaultNamespace:e,extensionPoint:t})=>{const{getExtensions:n}=N.useKosPluginsContext(),s=n(t),r=s.map(p=>p.data.namespace)||[],{t:c}=l.useKosTranslation([e,...new Set(r)]),d=s.reduce((p,m)=>{const x=m;return p[x.data[xt[t]]]={extension:t,module:x.id,namespace:x.data.namespace,title:x.data.title},p},{}),i=s.reduce((p,m)=>{const x=m;return p[x.data[xt[t]]]=`${x.data.namespace}:${x.data.title}`,p},{});return{namespaces:r,t:c,labelMap:i,contributionMap:d}},se=(e,t)=>{const n=u.useMemo(()=>({agitate:Bt,calibrate:({holder:d,pump:i,onComplete:p})=>{const m=l.getKosCompanionModel(i??d.pumps.data[0],S.FcmPump.type);return o.jsx(Nt,{pump:m,onComplete:p})},calibrateSPM:({holder:d,pump:i,onComplete:p})=>{const m=l.getKosCompanionModel(i??d.pumps.data[0],S.SpmPump.type);return o.jsx(kn,{pump:m,onComplete:p})},diagnostics:({holder:d,pump:i,onComplete:p})=>{const m=l.getKosCompanionModel(i??d.pumps.data[0],S.FcmPump.type);return o.jsx(qt,{pump:m,onComplete:p})},"replace-pump":({holder:d,pump:i,onComplete:p})=>o.jsx(vn,{pump:i??d.pumps.data[0],onComplete:p}),"rfid-override":yn,"replace-line":({holder:d,onComplete:i})=>o.jsx(Cn,{holder:d,onComplete:i})}),[]),[s,r]=u.useState(void 0),c=s?n[s]:void 0;return{holderExperience:c?o.jsx(c,{holder:e,pump:t,onComplete:()=>{r(void 0)}}):void 0,setHolderExperience:r,currentExperienceId:s}},Re=u.createContext(void 0),bo=({children:e,value:t})=>o.jsx(Re.Provider,{value:t,children:e}),Co=e=>({HolderContent:void 0}),Ne=(e,t=Co)=>{const n=u.useContext(Re);return t=(n==null?void 0:n.actionFactory)||t,t(e)},$e=()=>{const e=S.IngredientSummary.type;return l.useKosModel({modelId:e,modelType:S.IngredientSummary.type,options:{}})};function vo(e){return()=>t=>{const{model:n,status:s,KosModelLoader:r}=$e();return o.jsx(r,{...s,children:o.jsx(e,{...t,ingredientSummary:n})})}}const Oe=()=>{const e=S.MacroAssignment.type;return l.useKosModel({modelId:e,modelType:S.MacroAssignment.type,options:{}})};function tn(e){return t=>{const{model:n,status:s,KosModelLoader:r}=Oe();return o.jsx(r,{...s,children:o.jsx(e,{...t,macroAssignment:n})})}}const Ve=e=>{const t=e;return l.useKosModel({modelId:t,modelType:S.NetworkTest.type,options:{}})};function yo(e){return t=>n=>{const{model:s,status:r,KosModelLoader:c}=Ve(t);return o.jsx(c,{...r,children:o.jsx(e,{...n,networkTest:s})})}}const He=()=>{const e=S.NetworkTestContainer.type;return l.useKosModel({modelId:e,modelType:S.NetworkTestContainer.type,options:{}})};function nn(e){return t=>{const{model:n,status:s,KosModelLoader:r}=He();return o.jsx(r,{...s,children:o.jsx(e,{...t,networkTestContainer:n})})}}const on=()=>{const e=S.NutritiveSweetener.type;return l.useKosModel({modelId:e,modelType:S.NutritiveSweetener.type,options:{}})};function wo(e){return t=>{const{model:n,status:s,KosModelLoader:r}=on();return o.jsx(r,{...s,children:o.jsx(e,{...t,nutritiveSweetener:n})})}}const sn=()=>{const e=S.PlainWater.type;return l.useKosModel({modelId:e,modelType:S.PlainWater.type,options:{},destroyOnUnmount:!0})};function jo(e){return t=>{const{model:n,status:s,KosModelLoader:r}=sn();return o.jsx(r,{...s,children:o.jsx(e,{...t,plainWater:n})})}}const So=e=>{switch(e.type){case"fcm":return S.FcmPump.type;case"lfcv":return S.LfcvPump.type;case"micro":return S.SpmPump.type;default:return}},M="pluginVisibility",xe=new Map;l.registerExtensionPoint(M,{register:(e,t)=>{var n;xe.has(e)||xe.set(e,[]),(n=xe.get(e))==null||n.push(t)},execute:(e,t,n)=>{const s=xe.get(e);if(!s)return!0;const r=s.map(c=>c(t,n));return r.length===0?!0:!r.includes(!1)}});class rn{constructor(t,n){I(this,"core");I(this,"dispense");this.core=t,this.dispense=n}registerDashboardVisibilityFilter(t){return l.ExtensionManager[M].register(M,t),this}registerNavVisibilityFilter(t){return l.ExtensionManager[M].register(M,t),this}}class ko{constructor(){I(this,"dispense");I(this,"core");I(this,"plugin");this.dispense=new Fe.DispenseExtensionManager,this.core=new l.CoreExtensionManager,this.plugin=new rn(this.core,this.dispense)}}const re=e=>e?an(e.type):{action:"",label:"",progress:"",summary:""},an=e=>{const t=`troubles:troubles.${e}`;return{action:`${t}.action`,label:`${t}.label`,progress:`${t}.progress`,summary:`${t}.summary`}},ie=e=>{const{getExtensions:t}=N.useKosPluginsContext();return{getExtensions:u.useCallback(s=>t(s).filter(d=>{const i=d.id;return l.ExtensionManager[M].execute(M,i,e)}),[t,e])}},ve=()=>{const e=S.Reboot.type;return l.useKosModel({modelId:e,modelType:S.Reboot.type,options:{}})};function Po(e){return()=>t=>{const{model:n,status:s,KosModelLoader:r}=ve();return o.jsx(r,{...s,children:o.jsx(e,{...t,reboot:n})})}}const ye=()=>{const e=S.Settings.type;return l.useKosModel({modelId:e,modelType:S.Settings.type,options:{}})};function _e(e){return t=>{const{model:n,status:s,KosModelLoader:r}=ye();return o.jsx(r,{...s,children:o.jsx(e,{...t,settings:n})})}}const Ue=e=>{const t=e;return l.useKosModel({modelId:t,modelType:S.SetupStep.type,options:{}})};function To(e){return t=>n=>{const{model:s,status:r,KosModelLoader:c}=Ue(t);return o.jsx(c,{...r,children:o.jsx(e,{...n,setupStep:s})})}}const ze=()=>{const e=S.SetupStepContainer.type;return l.useKosModel({modelId:e,modelType:S.SetupStepContainer.type,options:{}})};function cn(e){return t=>{const{model:n,status:s,KosModelLoader:r}=ze();return o.jsx(r,{...s,children:o.jsx(e,{...t,setupStepContainer:n})})}}const ln=()=>{const e=S.Start.type;return l.useKosModel({modelId:e,modelType:S.Start.type,options:{}})};function Io(e){return t=>{const{model:n,status:s,KosModelLoader:r}=ln();return o.jsx(r,{...s,children:o.jsx(e,{...t,start:n})})}}const We=()=>{const e=S.TroubleActionManager.type,{getExtensions:t}=ie(),n=t(L.EXTENSION_POINT_TROUBLE_ACTION).map(r=>r.data);return l.useKosModel({modelId:e,modelType:S.TroubleActionManager.type,options:{definitions:n}})};function Do(e){return t=>{const{model:n,status:s,KosModelLoader:r}=We();return o.jsx(r,{...s,children:o.jsx(e,{...t,troubleAction:n})})}}const we=e=>{const[t,n]=u.useState({});return u.useEffect(()=>{async function s(){if(e){const r=await l.troubleDataFactory(e);n(r)}}s()},[e]),t},Ao=e=>!e||e==="white",Fo=e=>e?void 0:"white",dn=e=>{if(!l.isTroubleAware(e))return{};const t=e,{visibleTroubles:n,initialized:s}=z(t),r=(n==null?void 0:n.length)??0,c=n==null?void 0:n[0],d=r>0,i=d?`${c==null?void 0:c.color}`:void 0,p=Ao(i),m=d?Fo(p):void 0;return{backgroundColor:i,fontColor:m,highestTrouble:c,initialized:s,troubleCount:r,hasTroubles:d}},Lo=({troubleType:e,condition:t})=>{const{model:n}=l.useTroubleContainerModel(),[s,r]=u.useState(!1),[c,d]=u.useState([]);return u.useEffect(()=>l.kosAutoEffect(()=>{const p=(e?n==null?void 0:n.troubles.getIndexByKey("byType",e):n==null?void 0:n.troubles.data)||[],m=t?p.filter(t):p;r(m.length>0),d(m)}),[t,n,e]),[s,c.length>0?c[0]:void 0,c]},Ge=e=>{const t=e;return l.useKosModel({modelId:t,modelType:S.Utilities.type,options:{}})};function Eo(e){return t=>n=>{const{model:s,status:r,KosModelLoader:c}=Ge(t);return o.jsx(c,{...r,children:o.jsx(e,{...n,utilities:s})})}}const qe=()=>{const e=S.UtilitiesContainer.type;return l.useKosModel({modelId:e,modelType:S.UtilitiesContainer.type,options:{}})};function Bo(e){return t=>{const{model:n,status:s,KosModelLoader:r}=qe();return o.jsx(r,{...s,children:o.jsx(e,{...t,utilitiesContainer:n})})}}const un=l.withDevice(l.kosComponent(({device:e})=>{const{t}=l.useKosTranslation("dispenser-profile"),s=e.serialNumber==="unassigned"?void 0:e.serialNumber;return o.jsx(a.InfoCard,{label:t("dispenser-serial"),value:s})})),Mo=Qt(l.kosComponent(({dispenserInfo:e})=>{const{t}=l.useKosTranslation("dispenser-profile");return o.jsxs(o.Fragment,{children:[o.jsx(Vt,{label:t("dispenser-name","Dispenser Name"),configProperty:e.name}),o.jsx(un,{})]})})),Ko=_e(l.kosComponent(({settings:e})=>{const{t}=l.useKosTranslation("dispenser-profile"),n=s=>{if(s&&s.length>=25)return"The name shouldn’t exceed 25 characters."};return o.jsxs(o.Fragment,{children:[o.jsx(be,{closeButtonLabel:t("close","Close")||void 0,configProperty:e==null?void 0:e.name,isValid:n,label:t("dispenser-name","Dispenser Name"),layout:"alphanumeric",maxLength:25}),o.jsx(Wt,{label:t("activate-and-reboot-time"),configProperty:e.activateAndRebootTime})]})})),pn=y(a.LabelDate)`
139
+ `,Wt=({configProperties:e,disabled:t,enabledConfigProperty:n})=>{const{value:r}=l.useConfigProperty({configProperty:n}),s=r==="true",{componentModeOverride:c}=a.useComponentConfigurationContext(),d=e.length===1,i=d?ln:zt;return o.jsxs(an,{disabled:!s||t,mode:c,children:[o.jsx(cn,{children:e.map(p=>o.jsx(i,{disabled:!s||t,label:p.options?p.options.label:void 0,configProperty:p.configProperty,collapse:!d&&c==="standard",layout:p.options?p.options.layout:void 0,float:!0,hideUnits:p.options?p.options.hideUnits:void 0},p.configProperty.id))}),o.jsx(dn,{compact:!d||c==="compact",children:o.jsx(te,{alwaysShowLabel:!0,collapse:!0,configProperty:n,disabled:t,stretch:c==="compact"})})]})},un=({configProperty:e,disabled:t,enabledConfigProperty:n,options:r})=>{const s=u.useMemo(()=>[{configProperty:e,options:r}],[e,r]);return o.jsx(Wt,{configProperties:s,disabled:t,enabledConfigProperty:n})},Gt=({configProperty:e,...t})=>{const{value:n}=l.useConfigProperty({configProperty:e}),r=s=>{s!==void 0&&(e==null||e.updateProperty(String(s)))};return o.jsx(a.SwitchCard,{...t,onChange:r,value:n})},qt=({description:e,float:t,label:n,modalTitle:r,onSave:s,time:c,...d})=>{const{regionModel:i}=l.useKosRegions(),{t:p}=l.useKosTranslation("common",{keyPrefix:"schedule"}),{amPmOptions:m,formattedTime:x,hourOptions:g,minuteOptions:h,setTime:b,time:v}=l.useRegionTimeProps({initialDate:c}),f=v.getHours(),j=u.useMemo(()=>[{id:"hr",items:g,selectedItemId:f<12?f:f-12,loop:!0},{id:"min",items:h,selectedItemId:v.getMinutes(),loop:!0},{id:"ampm",items:m,selectedItemId:f<12?"AM":"PM"}],[m,g,h,v,f]),T=u.useMemo(()=>[{id:"hr",items:g,selectedItemId:f,loop:!0},{id:"min",items:h,selectedItemId:v.getMinutes(),loop:!0}],[g,h,v,f]);return o.jsx(a.MultiPickerCard,{...d,cancelButtonLabel:p("discard-changes","Discard Changes")||void 0,closeButtonLabel:p("close","Close")||void 0,data:i!=null&&i.is12HourTimeFormat?j:T,description:e,displayValue:x,float:t,icon:U.TimeIcon,label:n,modalTitle:r,proceedButtonLabel:p("save","Save")||void 0,onSave:P=>{const w=i!=null&&i.is12HourTimeFormat?P.ampm==="AM"?P.hr:P.hr+12:P.hr,S=P.min,C=new Date(v);C.setHours(w),C.setMinutes(S),b(C),s==null||s({hours:w,minutes:S})}})},Xt=({configProperty:e,...t})=>{var x;const{getStagedChange:n,updateStagedChange:r}=Me(),{value:s}=l.useConfigProperty({configProperty:e}),c=((x=n==null?void 0:n(e.id))==null?void 0:x.value)??s,{hours:d,minutes:i}=k.toTimeComponents(Number(c)),p=new Date;p.setHours(d),p.setMinutes(i);const m=g=>{const h=k.toSeconds(g.hours,g.minutes);r?r(e.id,{configProperty:e,value:h}):e.updateProperty(h)};return o.jsx(qt,{...t,onSave:m,time:p})},pn=[0,6],Yt=({day:e=new Date().getDate(),month:t=new Date().getMonth(),onSave:n,year:r=new Date().getFullYear(),...s})=>{var b,v,f,j,T,P;const{t:c}=l.useKosTranslation("region"),{regionModel:d}=l.useKosRegions(),i=l.useDateProps({date:{year:r,month:t,day:e},formatOptions:{dayFormat:"short",yearFormat:"long",monthFormat:"long",formatString:(d==null?void 0:d.selectedDateFormat)||"yyyy/MM/dd"},filterOptions:{daysOfWeekFilter:pn,yearsRange:[r-10,r+10]}}),p=u.useMemo(()=>{var w,S;return(S=(w=i==null?void 0:i.dateState)==null?void 0:w.yearsOptionsArray)==null?void 0:S.map(C=>({id:C.value,label:C.label}))},[(b=i==null?void 0:i.dateState)==null?void 0:b.yearsOptionsArray]),m=u.useMemo(()=>{var w,S;return(S=(w=i==null?void 0:i.dateState)==null?void 0:w.daysOptionsArray)==null?void 0:S.map(C=>({id:C.value,label:C.label}))},[(v=i==null?void 0:i.dateState)==null?void 0:v.daysOptionsArray]),x=u.useMemo(()=>{var w,S;return(S=(w=i==null?void 0:i.dateState)==null?void 0:w.monthsOptionsArray)==null?void 0:S.map(C=>({id:C.value,label:String(C.label)}))},[(f=i==null?void 0:i.dateState)==null?void 0:f.monthsOptionsArray]),g=u.useMemo(()=>{const w=[];return d==null||d.selectedDateOrder.split("").forEach(S=>{var C,D,E;S==="y"?w.push({id:"year",items:p,selectedItemId:(C=i==null?void 0:i.dateState)==null?void 0:C.year,loop:!1}):S==="m"?w.push({id:"month",items:x,selectedItemId:(D=i==null?void 0:i.dateState)==null?void 0:D.month}):S==="d"&&w.push({id:"day",items:m,selectedItemId:(E=i==null?void 0:i.dateState)==null?void 0:E.day,loop:!1})}),w},[(j=i==null?void 0:i.dateState)==null?void 0:j.day,(T=i==null?void 0:i.dateState)==null?void 0:T.month,(P=i==null?void 0:i.dateState)==null?void 0:P.year,m,x,d==null?void 0:d.selectedDateOrder,p]),h=u.useCallback(async w=>{const C=new Date(w.year,w.month+1,0).getDate(),D=w.day>C?1:w.day;n({day:D,month:w.month,year:w.year})},[n]);return o.jsx(a.MultiPickerCard,{cancelButtonLabel:c("discard-changes","Discard Changes")||void 0,closeButtonLabel:c("close","Close")||void 0,data:g,displayValue:i.dateState.formattedDate,icon:U.CalendarIcon,label:c("todays-date","Today's Date"),onSave:h,proceedButtonLabel:c("save","Save")||void 0,...s})},Zt=l.kosComponent(({pump:e,onComplete:t})=>{const{t:n}=l.useKosTranslation("common",{keyPrefix:"fcm-diagnostics"}),[r,s]=u.useState("idle"),[c,d]=u.useState(),i=u.useCallback(async()=>{s("test"),d(void 0);const m=await e.performElectricalTest();m.error?(d(m.error),s("failure")):m.result==="errEEPROM"?(d("errEEPROM"),s("failure")):s("success")},[e]),p=u.useMemo(()=>({idle:{information:o.jsx(a.LabelInformation,{children:n("perform-electrical-test")}),footer:o.jsx(a.Button,{onPointerDown:i,children:n("electrical-test")})},test:{information:o.jsx(a.LabelInformation,{children:n("testing")}),footer:o.jsx(a.Button,{disabled:!0,children:n("electrical-test")}),status:"loading"},success:{information:o.jsx(a.LabelInformation,{children:n("electrical-test-success-header")}),footer:o.jsx(a.Button,{onPointerDown:i,children:n("electrical-test")}),status:"success"},failure:{information:o.jsxs(o.Fragment,{children:[o.jsx(a.LabelInformation,{children:n("electrical-test-failure-header")}),o.jsx(a.BodyMediumInformation,{children:n(`error.${c}`)})]}),footer:o.jsx(a.Button,{onPointerDown:i,children:n("electrical-test")}),status:"information"}}),[c,n,i]);return o.jsx(a.WorkflowModal,{title:n(e.name),...p[r],onClose:()=>t()})}),Ee={title:"",summary:"",successMessage:"",failureMessage:"",actionLabel:""},mn=e=>{const[t,n]=u.useState(null),[r,s]=u.useState(Ee),c=e.map(d=>{const[i,,p]=d;return[i==null?void 0:i.future,i,p]}).flat();return u.useEffect(()=>{const d=e.find(i=>{const[p]=i;return!!(p!=null&&p.future)});d?(n(d[0]),s(d[2])):(n(null),s(Ee))},[...c,e]),[t,r]},gn=e=>{switch(e){case"calibrate":return kt;case"fixed-45":return Pt;case"flush":return Tt;case"high-flow-test":return It;case"hold-to-pour":return At;case"low-flow-test":return Dt;case"manual-override":return Ft;case"msv-reset":return Et;case"prime":return Lt;case"purge":return Bt;default:return}},xn=e=>(t,n="intents")=>({title:e(`${n}:troubles.${t}.progress`),summary:e(`${n}:troubles.${t}.summary`),successMessage:e(`${n}:troubles.${t}.success`),failureMessage:e(`${n}:troubles.${t}.error`),actionLabel:e(`${n}:troubles.${t}.action`)}),z=(e,t=gn)=>{const{t:n}=l.useKosTranslation("troubles"),[r,s]=u.useState(null),[c,d]=u.useState(Ee),i=u.useCallback(async p=>{const m=t(p);if(m){const x=xn(n)(p);if(d(x),e){const g=new m(e);await g.performAction(),s(g)}}},[t,e,n]);return e?[r,i,c]:[null,i,c]},hn=e=>(l.KosLog.debug(`pumpActionFactory: actionId=${e}`),Kt),fn=e=>(t,n="troubles")=>({title:e(`${n}:troubles.${t}.progress`),summary:e(`${n}:troubles.${t}.summary`),successMessage:e(`${n}:troubles.${t}.success`),failureMessage:e(`${n}:troubles.${t}.error`),actionLabel:e(`${n}:troubles.${t}.action`)}),bn=(e,t,n=hn)=>{const{t:r}=l.useKosTranslation("troubles"),[s,c]=u.useState(null),[d]=u.useState(fn(r)(t)),i=u.useCallback(async()=>{const p=n(t);if(p){const m=new p(e,t);await m.performAction(),c(m)}},[n,e,t]);return[s,i,d]};function Cn(e){return t=>{const{model:n,status:r,KosModelLoader:s}=Be();return o.jsx(s,{...r,children:o.jsx(e,{...t,agitationControl:n})})}}const Ke=()=>{const e=k.Animation.type;return l.useKosModel({modelId:e,modelType:k.Animation.type,options:{}})};function Qt(e){return t=>{const{model:n,status:r,KosModelLoader:s}=Ke();return o.jsx(s,{...r,children:o.jsx(e,{...t,animation:n})})}}const oe=()=>{const e=k.Application.type;return l.useKosModel({modelId:e,modelType:k.Application.type,options:{}})};function vn(e){return t=>{const{model:n,status:r,KosModelLoader:s}=oe();return o.jsx(s,{...r,children:o.jsx(e,{...t,application:n})})}}const Jt=()=>{const e=k.CarbWater.type;return l.useKosModel({modelId:e,modelType:k.CarbWater.type,options:{}})};function yn(e){return t=>{const{model:n,status:r,KosModelLoader:s}=Jt();return o.jsx(s,{...r,children:o.jsx(e,{...t,carbWater:n})})}}const eo=()=>{const e=k.CopyLogs.type;return l.useKosModel({modelId:e,modelType:k.CopyLogs.type,options:{},activate:!0,destroyOnUnmount:!0})};function wn(e){return t=>{const{model:n,status:r,KosModelLoader:s}=eo();return o.jsx(s,{...r,children:o.jsx(e,{...t,copyLogs:n})})}}const Re=()=>{const e=k.DashboardOperations.type;return l.useKosModel({modelId:e,modelType:k.DashboardOperations.type,options:{}})};function jn(e){return t=>{const{model:n,status:r,KosModelLoader:s}=Re();return o.jsx(s,{...r,children:o.jsx(e,{...t,dashboardOperations:n})})}}const Ne=()=>{const e=k.DispenserInfo.type;return l.useKosModel({modelId:e,modelType:k.DispenserInfo.type,options:{}})};function to(e){return t=>{const{model:n,status:r,KosModelLoader:s}=Ne();return o.jsx(s,{...r,children:o.jsx(e,{...t,dispenserInfo:n})})}}const oo=e=>{const t=e;return l.useKosModel({modelId:t,modelType:k.Door.type,options:{}})};function Sn(e){return t=>{const{model:n,status:r,KosModelLoader:s}=oo(t.id);return o.jsx(s,{...r,children:o.jsx(e,{...t,door:n})})}}const bt={[B.EXTENSION_POINT_SETUP]:"setupDescriptor",[B.EXTENSION_POINT_CUI]:"cuiDescriptor",[B.EXTENSION_POINT_UTIL]:"utilDescriptor"},no=({defaultNamespace:e,extensionPoint:t})=>{const{getExtensions:n}=O.useKosPluginsContext(),r=n(t),s=r.map(p=>p.data.namespace)||[],{t:c}=l.useKosTranslation([e,...new Set(s)]),d=r.reduce((p,m)=>{const x=m;return p[x.data[bt[t]]]={extension:t,module:x.id,namespace:x.data.namespace,title:x.data.title},p},{}),i=r.reduce((p,m)=>{const x=m;return p[x.data[bt[t]]]=`${x.data.namespace}:${x.data.title}`,p},{});return{namespaces:s,t:c,labelMap:i,contributionMap:d}},ne=(e,t)=>{const n=u.useMemo(()=>({agitate:Rt,calibrate:({holder:d,pump:i,onComplete:p})=>{const m=l.getKosCompanionModel(i??d.pumps.data[0],k.FcmPump.type);return o.jsx(Vt,{pump:m,onComplete:p})},calibrateSPM:({holder:d,pump:i,onComplete:p})=>{const m=l.getKosCompanionModel(i??d.pumps.data[0],k.SpmPump.type);return o.jsx(Ao,{pump:m,onComplete:p})},diagnostics:({holder:d,pump:i,onComplete:p})=>{const m=l.getKosCompanionModel(i??d.pumps.data[0],k.FcmPump.type);return o.jsx(Zt,{pump:m,onComplete:p})},"replace-pump":({holder:d,pump:i,onComplete:p})=>o.jsx(So,{pump:i??d.pumps.data[0],onComplete:p}),"rfid-override":ko,"replace-line":({holder:d,onComplete:i})=>o.jsx(jo,{holder:d,onComplete:i})}),[]),[r,s]=u.useState(void 0),c=r?n[r]:void 0;return{holderExperience:c?o.jsx(c,{holder:e,pump:t,onComplete:()=>{s(void 0)}}):void 0,setHolderExperience:s,currentExperienceId:r}},$e=u.createContext(void 0),kn=({children:e,value:t})=>o.jsx($e.Provider,{value:t,children:e}),Pn=e=>({HolderContent:void 0}),Oe=(e,t=Pn)=>{const n=u.useContext($e);return t=(n==null?void 0:n.actionFactory)||t,t(e)},Ve=()=>{const e=k.IngredientSummary.type;return l.useKosModel({modelId:e,modelType:k.IngredientSummary.type,options:{}})};function Tn(e){return()=>t=>{const{model:n,status:r,KosModelLoader:s}=Ve();return o.jsx(s,{...r,children:o.jsx(e,{...t,ingredientSummary:n})})}}const He=()=>{const e=k.MacroAssignment.type;return l.useKosModel({modelId:e,modelType:k.MacroAssignment.type,options:{}})};function so(e){return t=>{const{model:n,status:r,KosModelLoader:s}=He();return o.jsx(s,{...r,children:o.jsx(e,{...t,macroAssignment:n})})}}const _e=e=>{const t=e;return l.useKosModel({modelId:t,modelType:k.NetworkTest.type,options:{}})};function In(e){return t=>n=>{const{model:r,status:s,KosModelLoader:c}=_e(t);return o.jsx(c,{...s,children:o.jsx(e,{...n,networkTest:r})})}}const Ue=()=>{const e=k.NetworkTestContainer.type;return l.useKosModel({modelId:e,modelType:k.NetworkTestContainer.type,options:{}})};function ro(e){return t=>{const{model:n,status:r,KosModelLoader:s}=Ue();return o.jsx(s,{...r,children:o.jsx(e,{...t,networkTestContainer:n})})}}const io=()=>{const e=k.NutritiveSweetener.type;return l.useKosModel({modelId:e,modelType:k.NutritiveSweetener.type,options:{}})};function An(e){return t=>{const{model:n,status:r,KosModelLoader:s}=io();return o.jsx(s,{...r,children:o.jsx(e,{...t,nutritiveSweetener:n})})}}const ao=()=>{const e=k.PlainWater.type;return l.useKosModel({modelId:e,modelType:k.PlainWater.type,options:{},destroyOnUnmount:!0})};function Dn(e){return t=>{const{model:n,status:r,KosModelLoader:s}=ao();return o.jsx(s,{...r,children:o.jsx(e,{...t,plainWater:n})})}}const Fn=e=>{switch(e.type){case"fcm":return k.FcmPump.type;case"lfcv":return k.LfcvPump.type;case"micro":return k.SpmPump.type;default:return}},R="pluginVisibility",me=new Map;l.registerExtensionPoint(R,{register:(e,t)=>{var n;me.has(e)||me.set(e,[]),(n=me.get(e))==null||n.push(t)},execute:(e,t,n)=>{const r=me.get(e);if(!r)return!0;const s=r.map(c=>c(t,n));return s.length===0?!0:!s.includes(!1)}});class co{constructor(t,n){I(this,"core");I(this,"dispense");this.core=t,this.dispense=n}registerDashboardVisibilityFilter(t){return l.ExtensionManager[R].register(R,t),this}registerNavVisibilityFilter(t){return l.ExtensionManager[R].register(R,t),this}}class En{constructor(){I(this,"dispense");I(this,"core");I(this,"plugin");this.dispense=new Le.DispenseExtensionManager,this.core=new l.CoreExtensionManager,this.plugin=new co(this.core,this.dispense)}}const se=e=>e?lo(e.type):{action:"",label:"",progress:"",summary:""},lo=e=>{const t=`troubles:troubles.${e}`;return{action:`${t}.action`,label:`${t}.label`,progress:`${t}.progress`,summary:`${t}.summary`}},re=e=>{const{getExtensions:t}=O.useKosPluginsContext();return{getExtensions:u.useCallback(r=>t(r).filter(d=>{const i=d.id;return l.ExtensionManager[R].execute(R,i,e)}),[t,e])}},be=()=>{const e=k.Reboot.type;return l.useKosModel({modelId:e,modelType:k.Reboot.type,options:{}})};function Ln(e){return()=>t=>{const{model:n,status:r,KosModelLoader:s}=be();return o.jsx(s,{...r,children:o.jsx(e,{...t,reboot:n})})}}const Ce=()=>{const e=k.Settings.type;return l.useKosModel({modelId:e,modelType:k.Settings.type,options:{}})};function ze(e){return t=>{const{model:n,status:r,KosModelLoader:s}=Ce();return o.jsx(s,{...r,children:o.jsx(e,{...t,settings:n})})}}const We=e=>{const t=e;return l.useKosModel({modelId:t,modelType:k.SetupStep.type,options:{}})};function Bn(e){return t=>n=>{const{model:r,status:s,KosModelLoader:c}=We(t);return o.jsx(c,{...s,children:o.jsx(e,{...n,setupStep:r})})}}const Ge=()=>{const e=k.SetupStepContainer.type;return l.useKosModel({modelId:e,modelType:k.SetupStepContainer.type,options:{}})};function uo(e){return t=>{const{model:n,status:r,KosModelLoader:s}=Ge();return o.jsx(s,{...r,children:o.jsx(e,{...t,setupStepContainer:n})})}}const po=e=>{const[t,n]=u.useState(),[r,s]=z(e),c=t&&t>0;return u.useEffect(()=>{async function d(){if((e==null?void 0:e.ingredientId)!==void 0){const i=await(e==null?void 0:e.resolveIntentVolume("CALIBRATE"));n(Math.round(i.volume))}}d()},[e,e==null?void 0:e.ingredientId]),{calibrateVolume:t,canCalibrate:c,action:r,handleAction:s}},mo=()=>{const e=k.Start.type;return l.useKosModel({modelId:e,modelType:k.Start.type,options:{}})};function Mn(e){return t=>{const{model:n,status:r,KosModelLoader:s}=mo();return o.jsx(s,{...r,children:o.jsx(e,{...t,start:n})})}}const qe=()=>{const e=k.TroubleActionManager.type,{getExtensions:t}=re(),n=t(B.EXTENSION_POINT_TROUBLE_ACTION).map(s=>s.data);return l.useKosModel({modelId:e,modelType:k.TroubleActionManager.type,options:{definitions:n}})};function Kn(e){return t=>{const{model:n,status:r,KosModelLoader:s}=qe();return o.jsx(s,{...r,children:o.jsx(e,{...t,troubleAction:n})})}}const ve=e=>{const[t,n]=u.useState({});return u.useEffect(()=>{async function r(){if(e){const s=await l.troubleDataFactory(e);n(s)}}r()},[e]),t},Rn=e=>!e||e==="white",Nn=e=>e?void 0:"white",go=e=>{if(!l.isTroubleAware(e))return{};const t=e,{visibleTroubles:n,initialized:r}=G(t),s=(n==null?void 0:n.length)??0,c=n==null?void 0:n[0],d=s>0,i=d?`${c==null?void 0:c.color}`:void 0,p=Rn(i),m=d?Nn(p):void 0;return{backgroundColor:i,fontColor:m,highestTrouble:c,initialized:r,troubleCount:s,hasTroubles:d}},$n=({troubleType:e,condition:t})=>{const{model:n}=l.useTroubleContainerModel(),[r,s]=u.useState(!1),[c,d]=u.useState([]);return u.useEffect(()=>l.kosAutoEffect(()=>{const p=(e?n==null?void 0:n.troubles.getIndexByKey("byType",e):n==null?void 0:n.troubles.data)||[],m=t?p.filter(t):p;s(m.length>0),d(m)}),[t,n,e]),[r,c.length>0?c[0]:void 0,c]},Xe=e=>{const t=e;return l.useKosModel({modelId:t,modelType:k.Utilities.type,options:{}})};function On(e){return t=>n=>{const{model:r,status:s,KosModelLoader:c}=Xe(t);return o.jsx(c,{...s,children:o.jsx(e,{...n,utilities:r})})}}const Ye=()=>{const e=k.UtilitiesContainer.type;return l.useKosModel({modelId:e,modelType:k.UtilitiesContainer.type,options:{}})};function Vn(e){return t=>{const{model:n,status:r,KosModelLoader:s}=Ye();return o.jsx(s,{...r,children:o.jsx(e,{...t,utilitiesContainer:n})})}}const xo=l.withDevice(l.kosComponent(({device:e})=>{const{t}=l.useKosTranslation("dispenser-profile"),r=e.serialNumber==="unassigned"?void 0:e.serialNumber;return o.jsx(a.InfoCard,{label:t("dispenser-serial"),value:r})})),Hn=to(l.kosComponent(({dispenserInfo:e})=>{const{t}=l.useKosTranslation("dispenser-profile");return o.jsxs(o.Fragment,{children:[o.jsx(Ut,{label:t("dispenser-name","Dispenser Name"),configProperty:e.name}),o.jsx(xo,{})]})})),_n=ze(l.kosComponent(({settings:e})=>{const{t}=l.useKosTranslation("dispenser-profile"),n=r=>{if(r&&r.length>=25)return"The name shouldn’t exceed 25 characters."};return o.jsxs(o.Fragment,{children:[o.jsx(he,{closeButtonLabel:t("close","Close")||void 0,configProperty:e==null?void 0:e.name,isValid:n,label:t("dispenser-name","Dispenser Name"),layout:"alphanumeric",maxLength:25}),o.jsx(Xt,{label:t("activate-and-reboot-time"),configProperty:e.activateAndRebootTime})]})})),ho=y(a.LabelDate)`
140
140
  color: var(--ddk-generic-color-grey-60);
141
141
  font-size: var(--ddk-component-enjoy-by-font-size-small);
142
142
  font-weight: var(--ddk-component-enjoy-by-font-weight-small);
143
- `,Ro=y(a.LabelDate)`
143
+ `,Un=y(a.LabelDate)`
144
144
  color: var(--ddk-component-dashboard-enjoy-by-trouble-warning-color);
145
- `,No=y(pn)`
145
+ `,zn=y(ho)`
146
146
  color: var(--ddk-component-dashboard-enjoy-by-trouble-warning-color);
147
- `,Xe=({holder:e,size:t})=>{const{t:n}=l.useKosTranslation("common"),{regionModel:s}=l.useKosRegions(),r=!!e.enjoyByDate,c=e.enjoyByDate??new Date,{formattedDate:d}=l.useFormattedDate({year:c.getFullYear(),month:c.getMonth(),day:c.getDay(),formatString:(s==null?void 0:s.selectedDateFormat)||""}),i=e.hasEnjoyByWarning?t==="small"?No:Ro:t==="small"?pn:a.LabelDate;return r&&o.jsx(i,{children:n("enjoy-by",{data:{date:d}})})},$o=({item:e,valueKey:t})=>{const{t:n}=l.useKosTranslation("hardware-info"),{linked:s}=e;if(t==="link.serialNum"&&!s)return o.jsx(a.LabelInformationExtraSmall,{children:n("not-connected")});const r=a.getItemData(e,t);return r||"—"},Oo=y(a.Table)`
147
+ `,Ze=({holder:e,size:t})=>{const{t:n}=l.useKosTranslation("common"),{regionModel:r}=l.useKosRegions(),s=!!e.enjoyByDate,c=e.enjoyByDate??new Date,{formattedDate:d}=l.useFormattedDate({year:c.getFullYear(),month:c.getMonth(),day:c.getDate(),formatString:(r==null?void 0:r.selectedDateFormat)||""}),i=e.hasEnjoyByWarning?t==="small"?zn:Un:t==="small"?ho:a.LabelDate;return s&&o.jsx(i,{children:n("enjoy-by",{data:{date:d}})})},Wn=({item:e,valueKey:t})=>{const{t:n}=l.useKosTranslation("hardware-info"),{linked:r}=e;if(t==="link.serialNum"&&!r)return o.jsx(a.LabelInformationExtraSmall,{children:n("not-connected")});const s=a.getItemData(e,t);return s||"—"},Gn=y(a.Table)`
148
148
  & ul {
149
149
  list-style-type: none;
150
150
  margin: 0;
151
151
  padding: 0;
152
152
  }
153
- `,Vo=l.kosComponent(()=>{const{model:e}=Fe.useBoardContainer(),{t}=l.useKosTranslation("hardware-info"),n=(e==null?void 0:e.boardList.map(s=>{var r,c,d;return{...s,link:{...s.link,firmwareVersions:(r=s.link)!=null&&r.firmwareVersions&&s.link.firmwareVersions.length>0?o.jsx("ul",{children:(d=(c=s.link)==null?void 0:c.firmwareVersions)==null?void 0:d.map((i,p)=>o.jsx("li",{children:i},p))}):"—"}}}))||[];return e&&e.boardList&&o.jsx(Oo,{CellRenderer:$o,data:n,dataKeys:["name","type","link.hardwareVersion","link.serialNum","link.firmwareVersions"],headers:[t("name"),t("type"),t("revision"),t("serial-number"),t("firmware")],heading:t("tower")||void 0})}),U=({disabled:e,model:t,onPour:n,onPourCancel:s,...r})=>{const{t:c}=l.useKosTranslation("common"),[d,i]=u.useState(t.isPouring?"halt":"idle"),p=u.useRef(),m=u.useRef(!1),x=250;u.useEffect(()=>l.kosAutoEffect(()=>{t.isPouring||(m.current=!1,clearTimeout(p.current),p.current=void 0,i("idle"))}),[t]),u.useEffect(()=>()=>{t.isPouring&&t.cancelPour()},[t]);const g=u.useCallback(()=>{t&&(e||t.isPouring||(t.performIntent("HOLD_TO_POUR"),p.current=setTimeout(()=>{m.current=!0,p.current=void 0,i("run")},x)))},[e,t]),h=u.useCallback(()=>{t&&(m.current?(t.cancelPour(),m.current=!1,i("idle")):p.current?(clearTimeout(p.current),p.current=void 0,i("halt")):t.isPouring&&(t.cancelPour(),i("idle")))},[t]),f=u.useCallback(()=>{d!=="halt"&&h()},[h,d]);return o.jsx(a.TapAndHoldButton,{disabled:e,mode:"primary",onPointerCancel:h,onPointerDown:g,onPointerOut:f,onPointerUp:h,...r,state:d,children:c(c(d==="idle"?"tapOrHoldToPour":d==="run"?"releaseToStop":"stop"))})},Ye=u.createContext(void 0),Ho=({children:e})=>{const{model:t,ready:n}=Be(),s=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(Ye.Provider,{value:s,children:e})},_o=()=>{const e=u.useContext(Ye);if(!e)throw new Error("useAnimationContext must be used within a AnimationProvider");return e},Uo=Xt(({animation:e,animationOverrides:t,children:n,componentModeOverride:s,modalModeOverride:r})=>{const[c,d]=u.useState(!0),[i,p]=u.useState(!0),[m,x]=u.useState(!0);return u.useEffect(()=>{const g=l.kosAutoEffect(()=>{const h=!!(!(t!=null&&t.disableAll)&&(t!=null&&t.enableDial))&&!!(!e.disableAll.value&&e.enableDial.value),f=!!(!(t!=null&&t.disableAll)&&(t!=null&&t.enableModal))&&!!(!e.disableAll.value&&e.enableModal.value),C=!!(!(t!=null&&t.disableAll)&&(t!=null&&t.enableSideBar))&&!!(!e.disableAll.value&&e.enableSideBar.value);d(h),p(f),x(C)});return()=>{g()}},[e,t==null?void 0:t.disableAll,t==null?void 0:t.enableDial,t==null?void 0:t.enableModal,t==null?void 0:t.enableSideBar]),o.jsx(a.ComponentConfigurationProvider,{value:{componentModeOverride:s,enableDialAnimation:c,enableModalAnimation:i,enableSidebarAnimation:m,modalModeOverride:r},children:n})}),Ze=u.createContext(void 0),zo=({children:e})=>{const{model:t,ready:n}=oe(),s=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(Ze.Provider,{value:s,children:e})},je=()=>{const e=u.useContext(Ze);if(!e)throw new Error("useApplicationContext must be used within a ApplicationProvider");return e},Qe=u.createContext(void 0),Wo=({children:e})=>{const{model:t,ready:n}=Me(),s=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(Qe.Provider,{value:s,children:e})},Go=()=>{const e=u.useContext(Qe);if(!e)throw new Error("useDashboardOperationsContext must be used within a DashboardOperationsProvider");return e},Je=u.createContext(void 0),qo=({children:e})=>{const{model:t,ready:n}=Ke(),s=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(Je.Provider,{value:s,children:e})},Xo=()=>{const e=u.useContext(Je);if(!e)throw new Error("useDispenserInfoContext must be used within a DispenserInfoProvider");return e},et=u.createContext(void 0),Yo=({children:e})=>{const{model:t,ready:n}=$e(),s=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(et.Provider,{value:s,children:e})},Zo=()=>{const e=u.useContext(et);if(!e)throw new Error("useIngredientSummaryContext must be used within a IngredientSummaryProvider");return e},tt=u.createContext(void 0),Qo=({children:e})=>{const{model:t,ready:n}=Oe(),s=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(tt.Provider,{value:s,children:e})},Jo=()=>{const e=u.useContext(tt);if(!e)throw new Error("useMacroAssignmentContext must be used within a MacroAssignmentProvider");return e},nt=u.createContext(void 0),es=({children:e,id:t})=>{const{model:n,ready:s}=Ve(t),r=u.useMemo(()=>s&&n?{model:n}:{},[s,n]);return o.jsx(nt.Provider,{value:r,children:e})},ts=()=>{const e=u.useContext(nt);if(!e)throw new Error("useNetworkTestContext must be used within a NetworkTestProvider");return e},ot=u.createContext(void 0),ns=({children:e})=>{const{model:t,ready:n}=He(),s=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(ot.Provider,{value:s,children:e})},os=()=>{const e=u.useContext(ot);if(!e)throw new Error("useNetworkTestContainerContext must be used within a NetworkTestContainerProvider");return e},st=u.createContext(void 0),ss=({children:e})=>{const{model:t,ready:n}=ve(),s=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(st.Provider,{value:s,children:e})},rs=()=>{const e=u.useContext(st);if(!e)throw new Error("useRebootContext must be used within a RebootProvider");return e},rt=u.createContext(void 0),is=({children:e})=>{const{model:t,ready:n}=ye(),s=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(rt.Provider,{value:s,children:e})},as=()=>{const e=u.useContext(rt);if(!e)throw new Error("useSettingsContext must be used within a SettingsProvider");return e},it=u.createContext(void 0),cs=({children:e,id:t})=>{const{model:n,ready:s}=Ue(t),r=u.useMemo(()=>s&&n?{model:n}:{},[s,n]);return o.jsx(it.Provider,{value:r,children:e})},ls=()=>{const e=u.useContext(it);if(!e)throw new Error("useSetupStepContext must be used within a SetupStepProvider");return e},at=u.createContext(void 0),ds=({children:e})=>{const{model:t,ready:n}=ze(),s=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(at.Provider,{value:s,children:e})},us=()=>{const e=u.useContext(at);if(!e)throw new Error("useSetupStepContainerContext must be used within a SetupStepContainerProvider");return e},ct=u.createContext(void 0),ps=({children:e,id:t})=>{const{model:n,ready:s}=Ge(t),r=u.useMemo(()=>s&&n?{model:n}:{},[s,n]);return o.jsx(ct.Provider,{value:r,children:e})},ms=()=>{const e=u.useContext(ct);if(!e)throw new Error("useUtilitiesContext must be used within a UtilitiesProvider");return e},lt=u.createContext(void 0),gs=({children:e})=>{const{model:t,ready:n}=qe(),s=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(lt.Provider,{value:s,children:e})},xs=()=>{const e=u.useContext(lt);if(!e)throw new Error("useUtilitiesContainerContext must be used within a UtilitiesContainerProvider");return e},z=e=>{const{model:t}=je(),[n,s]=u.useState(),r=t==null?void 0:t.currentRole,c=!!n;return u.useLayoutEffect(()=>{const d=l.kosAutoEffect(()=>{const i=e.troubles.filter(S.troubleVisibilityFilter(r));s(p=>{const m=p??[];return i.length!==m.length||i.some(x=>!m.includes(x))?i:m})});return()=>{d()}},[e,r]),{visibleTroubles:n,initialized:c}},mn=l.KosLog.createLogger({name:"holder-group-view"});mn.debug("holder-group-view component loaded");const ht=y.div`
153
+ `,qn=l.kosComponent(()=>{const{model:e}=Le.useBoardContainer(),{t}=l.useKosTranslation("hardware-info"),n=(e==null?void 0:e.boardList.map(r=>{var s,c,d;return{...r,link:{...r.link,firmwareVersions:(s=r.link)!=null&&s.firmwareVersions&&r.link.firmwareVersions.length>0?o.jsx("ul",{children:(d=(c=r.link)==null?void 0:c.firmwareVersions)==null?void 0:d.map((i,p)=>o.jsx("li",{children:i},p))}):"—"}}}))||[];return e&&e.boardList&&o.jsx(Gn,{CellRenderer:Wn,data:n,dataKeys:["name","type","link.hardwareVersion","link.serialNum","link.firmwareVersions"],headers:[t("name"),t("type"),t("revision"),t("serial-number"),t("firmware")],heading:t("tower")||void 0})}),W=({disabled:e,model:t,onPour:n,onPourCancel:r,...s})=>{const{t:c}=l.useKosTranslation("common"),[d,i]=u.useState(t.isPouring?"halt":"idle"),p=u.useRef(),m=u.useRef(!1),x=250;u.useEffect(()=>l.kosAutoEffect(()=>{t.isPouring||(m.current=!1,clearTimeout(p.current),p.current=void 0,i("idle"))}),[t]),u.useEffect(()=>()=>{t.isPouring&&t.cancelPour()},[t]);const g=u.useCallback(()=>{t&&(e||t.isPouring||(t.performIntent("HOLD_TO_POUR"),p.current=setTimeout(()=>{m.current=!0,p.current=void 0,i("run")},x)))},[e,t]),h=u.useCallback(()=>{t&&(m.current?(t.cancelPour(),m.current=!1,i("idle")):p.current?(clearTimeout(p.current),p.current=void 0,i("halt")):t.isPouring&&(t.cancelPour(),i("idle")))},[t]),b=u.useCallback(()=>{d!=="halt"&&h()},[h,d]);return o.jsx(a.TapAndHoldButton,{disabled:e,mode:"primary",onPointerCancel:h,onPointerDown:g,onPointerOut:b,onPointerUp:h,...s,state:d,children:c(c(d==="idle"?"tapOrHoldToPour":d==="run"?"releaseToStop":"stop"))})},Qe=u.createContext(void 0),Xn=({children:e})=>{const{model:t,ready:n}=Ke(),r=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(Qe.Provider,{value:r,children:e})},Yn=()=>{const e=u.useContext(Qe);if(!e)throw new Error("useAnimationContext must be used within a AnimationProvider");return e},Zn=Qt(({animation:e,animationOverrides:t,children:n,componentModeOverride:r,modalModeOverride:s})=>{const[c,d]=u.useState(!0),[i,p]=u.useState(!0),[m,x]=u.useState(!0);return u.useEffect(()=>{const g=l.kosAutoEffect(()=>{const h=!!(!(t!=null&&t.disableAll)&&(t!=null&&t.enableDial))&&!!(!e.disableAll.value&&e.enableDial.value),b=!!(!(t!=null&&t.disableAll)&&(t!=null&&t.enableModal))&&!!(!e.disableAll.value&&e.enableModal.value),v=!!(!(t!=null&&t.disableAll)&&(t!=null&&t.enableSideBar))&&!!(!e.disableAll.value&&e.enableSideBar.value);d(h),p(b),x(v)});return()=>{g()}},[e,t==null?void 0:t.disableAll,t==null?void 0:t.enableDial,t==null?void 0:t.enableModal,t==null?void 0:t.enableSideBar]),o.jsx(a.ComponentConfigurationProvider,{value:{componentModeOverride:r,enableDialAnimation:c,enableModalAnimation:i,enableSidebarAnimation:m,modalModeOverride:s},children:n})}),Je=u.createContext(void 0),Qn=({children:e})=>{const{model:t,ready:n}=oe(),r=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(Je.Provider,{value:r,children:e})},ye=()=>{const e=u.useContext(Je);if(!e)throw new Error("useApplicationContext must be used within a ApplicationProvider");return e},et=u.createContext(void 0),Jn=({children:e})=>{const{model:t,ready:n}=Re(),r=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(et.Provider,{value:r,children:e})},es=()=>{const e=u.useContext(et);if(!e)throw new Error("useDashboardOperationsContext must be used within a DashboardOperationsProvider");return e},tt=u.createContext(void 0),ts=({children:e})=>{const{model:t,ready:n}=Ne(),r=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(tt.Provider,{value:r,children:e})},os=()=>{const e=u.useContext(tt);if(!e)throw new Error("useDispenserInfoContext must be used within a DispenserInfoProvider");return e},ot=u.createContext(void 0),ns=({children:e})=>{const{model:t,ready:n}=Ve(),r=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(ot.Provider,{value:r,children:e})},ss=()=>{const e=u.useContext(ot);if(!e)throw new Error("useIngredientSummaryContext must be used within a IngredientSummaryProvider");return e},nt=u.createContext(void 0),rs=({children:e})=>{const{model:t,ready:n}=He(),r=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(nt.Provider,{value:r,children:e})},is=()=>{const e=u.useContext(nt);if(!e)throw new Error("useMacroAssignmentContext must be used within a MacroAssignmentProvider");return e},st=u.createContext(void 0),as=({children:e,id:t})=>{const{model:n,ready:r}=_e(t),s=u.useMemo(()=>r&&n?{model:n}:{},[r,n]);return o.jsx(st.Provider,{value:s,children:e})},cs=()=>{const e=u.useContext(st);if(!e)throw new Error("useNetworkTestContext must be used within a NetworkTestProvider");return e},rt=u.createContext(void 0),ls=({children:e})=>{const{model:t,ready:n}=Ue(),r=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(rt.Provider,{value:r,children:e})},ds=()=>{const e=u.useContext(rt);if(!e)throw new Error("useNetworkTestContainerContext must be used within a NetworkTestContainerProvider");return e},it=u.createContext(void 0),us=({children:e})=>{const{model:t,ready:n}=be(),r=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(it.Provider,{value:r,children:e})},ps=()=>{const e=u.useContext(it);if(!e)throw new Error("useRebootContext must be used within a RebootProvider");return e},at=u.createContext(void 0),ms=({children:e})=>{const{model:t,ready:n}=Ce(),r=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(at.Provider,{value:r,children:e})},gs=()=>{const e=u.useContext(at);if(!e)throw new Error("useSettingsContext must be used within a SettingsProvider");return e},ct=u.createContext(void 0),xs=({children:e,id:t})=>{const{model:n,ready:r}=We(t),s=u.useMemo(()=>r&&n?{model:n}:{},[r,n]);return o.jsx(ct.Provider,{value:s,children:e})},hs=()=>{const e=u.useContext(ct);if(!e)throw new Error("useSetupStepContext must be used within a SetupStepProvider");return e},lt=u.createContext(void 0),fs=({children:e})=>{const{model:t,ready:n}=Ge(),r=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(lt.Provider,{value:r,children:e})},bs=()=>{const e=u.useContext(lt);if(!e)throw new Error("useSetupStepContainerContext must be used within a SetupStepContainerProvider");return e},dt=u.createContext(void 0),Cs=({children:e,id:t})=>{const{model:n,ready:r}=Xe(t),s=u.useMemo(()=>r&&n?{model:n}:{},[r,n]);return o.jsx(dt.Provider,{value:s,children:e})},vs=()=>{const e=u.useContext(dt);if(!e)throw new Error("useUtilitiesContext must be used within a UtilitiesProvider");return e},ut=u.createContext(void 0),ys=({children:e})=>{const{model:t,ready:n}=Ye(),r=u.useMemo(()=>n&&t?{model:t}:{},[n,t]);return o.jsx(ut.Provider,{value:r,children:e})},ws=()=>{const e=u.useContext(ut);if(!e)throw new Error("useUtilitiesContainerContext must be used within a UtilitiesContainerProvider");return e},G=e=>{const{model:t}=ye(),[n,r]=u.useState(),s=t==null?void 0:t.currentRole,c=!!n;return u.useLayoutEffect(()=>{const d=l.kosAutoEffect(()=>{const i=e.troubles.filter(k.troubleVisibilityFilter(s));r(p=>{const m=p??[];return i.length!==m.length||i.some(x=>!m.includes(x))?i:m})});return()=>{d()}},[e,s]),{visibleTroubles:n,initialized:c}},fo=l.KosLog.createLogger({name:"holder-group-view"});fo.debug("holder-group-view component loaded");const Ct=y.div`
154
154
  align-items: start;
155
155
 
156
156
  display: flex;
@@ -160,29 +160,31 @@
160
160
  text-overflow: ellipsis;
161
161
  width: 100%;
162
162
  color: ${e=>e.color??"var(--ddk-generic-color-black)"};
163
- `,hs=y.div`
163
+ `,js=y.div`
164
164
  display: flex;
165
165
  align-items: center;
166
166
  justify-content: center;
167
167
  color: ${e=>e.color??"var(--ddk-generic-color-black)"};
168
- `,fs=y.div`
168
+ flex-wrap: nowrap;
169
+ white-space: nowrap;
170
+ `,Ss=y.div`
169
171
  font-size: var(--ddk-component-holder-card-footer-font-size);
170
172
  color: ${e=>e.color??"var(--ddk-generic-color-black)"};
171
- `,bs=e=>!e||e==="white",Cs=e=>e?void 0:"white",vs=(e,t)=>t&&t.hasEnjoyByWarning?"var(--ddk-component-dashboard-enjoy-by-trouble-warning-color)":e?void 0:"white",gn=l.kosComponent(({holder:e,onHolderSelect:t,showNavIcon:n,summaryBody:s})=>{const{model:r}=oe(),{visibleTroubles:c,initialized:d}=z(e),i=r==null?void 0:r.currentRole,{t:p}=l.useKosTranslation("troubles"),{t:m}=l.useKosTranslation("common"),{componentModeOverride:x}=a.useComponentConfigurationContext(),g=x==="compact",{getExtensions:h}=ie();let f=!1;const C=l.getKosCompanionModel(e,J.FreestyleHolder.type);C!=null&&C.isRemote&&(mn.warn("Holder is remote, skipping rendering"),f=!0);const[b,j]=u.useState(!1),P=!!e.ingredientId,T=u.useCallback(()=>{j(!1)},[]),k=(c==null?void 0:c.length)??0,w=c==null?void 0:c[0],v=k>0,A=we(w),F=e.hasFuelGuage,B=e.fillPercent,ae=v?`${w==null?void 0:w.color}`:void 0,ce=bs(ae),W=f?"var(--ddk-generic-color-grey-30)":v?Cs(ce):P?void 0:"var(--ddk-component-dashboard-card-color-unassigned)",le=f?"var(--ddk-generic-color-grey-30)":v?vs(ce,e):P?void 0:"var(--ddk-component-dashboard-card-color-unassigned)",de=a.useAbbreviation(e.name,g),ke=f?m("disabled"):e.removed?m(e.previousIngredientName):e.unassigned?m("unassigned"):m(e.ingredientName),G=o.jsx(ht,{color:W,children:ke}),Pe=o.jsx(hs,{color:W,children:de}),ue=o.jsxs(ht,{children:[e.name," ",ke]}),Te=P&&F&&!v&&d?s??o.jsx(a.FuelGauge,{color:v?"var(--ddk-generic-color-white)":void 0,size:"small",value:B}):null,Ie=P&&F&&!v&&d&&a.getFillColor(B)||void 0,q=l.ExtensionManager.executeDashboardKeyFactory(e)||"",pe=u.useMemo(()=>h(L.EXTENSION_POINT_DASHBOARD),[h]),X=u.useMemo(()=>pe.filter(R=>!!R.data.pumpDetail).reduce((R,mt)=>(R[mt.data.pumpDetail.dashboardKey]=mt.data.pumpDetail,R),{}),[pe]),Y=!!X[q],{HolderContent:O,modalOptions:V}=Ne(e),me=u.useMemo(()=>{var R;return O?o.jsx(O,{holder:e,onComplete:T}):Y?o.jsx(N.DynamicComponent,{extension:L.EXTENSION_POINT_DASHBOARD_PUMP_DETAIL,module:(R=X[q])==null?void 0:R.id,props:{holder:e}}):void 0},[O,T,X,Y,e,q]),In=re(w),Dn=o.jsx(fs,{color:v?W:le,children:C!=null&&C.isRemote?m("remote-nns-active"):v?p(In.summary,{context:w!=null&&w.deferred?"queued":void 0,data:A}):!g&&o.jsx(Xe,{size:"small",holder:e})}),{holderExperience:An,setHolderExperience:pt}=se(e),{future:ge}=K(w),Fn=u.useCallback(()=>{f||e.sortedPumps.length<=0||(i==="technician"?j(!0):e.unassigned||e.removed?pt("rfid-override"):v&&(t==null||t(e)))},[e,v,t,i,pt]);return o.jsxs(o.Fragment,{children:[o.jsxs(a.Modal,{contain:!g,...V,show:b,onClose:T,children:[o.jsx(a.Header,{contain:g,showCloseButton:!0,title:ue,onClose:T,CloseButton:g?a.BackButton:void 0}),me]}),o.jsx(u.Suspense,{children:An}),o.jsx(a.HolderDashboardCard,{avatar:Pe,backgroundColor:ae,footer:Dn,cardId:e.path,errors:k,title:G,indicatorColor:Ie,disabled:f,body:Te,showNavIcon:n,onCardSelect:Fn},e.path),(w==null?void 0:w.future)&&o.jsx(D,{title:G,future:ge,failureMessage:p(`troubles.${w.type}.error`,{context:ge==null?void 0:ge.reason})})]})}),dt=y.div`
173
+ `,ks=e=>!e||e==="white",Ps=e=>e?void 0:"white",Ts=(e,t)=>t&&t.hasEnjoyByWarning?"var(--ddk-component-dashboard-enjoy-by-trouble-warning-color)":e?void 0:"white",bo=l.kosComponent(({holder:e,onHolderSelect:t,showNavIcon:n,summaryBody:r,altNamePolicy:s="disable"})=>{const{model:c}=oe(),{visibleTroubles:d,initialized:i}=G(e),p=c==null?void 0:c.currentRole,{t:m}=l.useKosTranslation("troubles"),{t:x}=l.useKosTranslation("common"),{componentModeOverride:g}=a.useComponentConfigurationContext(),h=g==="compact",{getExtensions:b}=re();let v=!1;const f=l.getKosCompanionModel(e,J.FreestyleHolder.type),j=f==null?void 0:f.altName,T=f==null?void 0:f.isRemote,P=s==="replace"&&!!j&&(f==null?void 0:f.isRemote);f!=null&&f.isRemote&&s==="disable"&&(fo.warn("Holder is remote, skipping rendering"),v=!0);const[w,S]=u.useState(!1),C=!!e.ingredientId,D=u.useCallback(()=>{S(!1)},[]),E=(d==null?void 0:d.length)??0,A=d==null?void 0:d[0],L=E>0,je=ve(A),ie=e.hasFuelGuage,q=e.fillPercent,X=L?`${A==null?void 0:A.color}`:void 0,Se=ks(X),H=v?"var(--ddk-generic-color-grey-30)":L?Ps(Se):C?void 0:"var(--ddk-component-dashboard-card-color-unassigned)",ke=v?"var(--ddk-generic-color-grey-30)":L?Ts(Se,e):C?void 0:"var(--ddk-component-dashboard-card-color-unassigned)",ae=P?x(j,{defaultValue:"Remote NNS Tray"}):a.useAbbreviation(e.name,h),ce=v?x("disabled"):P?"":e.removed?x(e.previousIngredientName):e.unassigned?x("unassigned"):x(e.ingredientName),le=o.jsx(Ct,{color:H,children:ce}),Pe=o.jsx(js,{color:H,children:ae}),Te=P?x(j,{defaultValue:"Remote NNS Tray"}):e.name,Ie=o.jsxs(Ct,{children:[Te," ",ce]}),de=C&&ie&&!L&&i?r??o.jsx(a.FuelGauge,{color:L?"var(--ddk-generic-color-white)":void 0,size:"small",value:q}):null,ue=C&&ie&&!L&&i&&a.getFillColor(q)||void 0,K=l.ExtensionManager.executeDashboardKeyFactory(e)||"",Y=u.useMemo(()=>b(B.EXTENSION_POINT_DASHBOARD),[b]),Ae=u.useMemo(()=>Y.filter($=>!!$.data.pumpDetail).reduce(($,ht)=>($[ht.data.pumpDetail.dashboardKey]=ht.data.pumpDetail,$),{}),[Y]),gt=!!Ae[K],{HolderContent:De,modalOptions:Eo}=Oe(e),Lo=u.useMemo(()=>{var $;return De?o.jsx(De,{holder:e,onComplete:D}):gt?o.jsx(O.DynamicComponent,{extension:B.EXTENSION_POINT_DASHBOARD_PUMP_DETAIL,module:($=Ae[K])==null?void 0:$.id,props:{holder:e}}):void 0},[De,D,Ae,gt,e,K]),Bo=se(A),Mo=T&&!P,Ko=o.jsx(Ss,{color:L?H:ke,children:Mo?x("remote-nns-active"):L?m(Bo.summary,{context:A!=null&&A.deferred?"queued":void 0,data:je}):!h&&o.jsx(Ze,{size:"small",holder:e})}),{holderExperience:Ro,setHolderExperience:xt}=ne(e),{future:pe}=N(A),No=u.useCallback(()=>{v||e.sortedPumps.length<=0||(p==="technician"?S(!0):e.unassigned||e.removed?xt("rfid-override"):L&&(t==null||t(e)))},[e,L,t,p,xt]);return o.jsxs(o.Fragment,{children:[o.jsxs(a.Modal,{contain:!h,...Eo,show:w,onClose:D,children:[o.jsx(a.Header,{contain:h,showCloseButton:!0,title:Ie,onClose:D,CloseButton:h?a.BackButton:void 0}),Lo]}),o.jsx(u.Suspense,{children:Ro}),o.jsx(a.HolderDashboardCard,{avatar:Pe,backgroundColor:X,footer:Ko,cardId:e.path,errors:E,title:le,indicatorColor:ue,disabled:v,body:de,showNavIcon:n,onCardSelect:No},e.path),(A==null?void 0:A.future)&&o.jsx(F,{title:le,future:pe,failureMessage:m(`troubles.${A.type}.error`,{context:pe==null?void 0:pe.reason})})]})}),pt=y.div`
172
174
  display: flex;
173
175
  flex-direction: var(--ddk-component-dashboard-card-flex-direction);
174
176
  row-gap: var(--ddk-component-dashboard-row-gap);
175
177
  column-gap: var(--ddk-component-dashboard-column-gap);
176
178
  height: 100%;
177
179
  user-select: none;
178
- `,ys=l.kosComponent(({holder:e,showNavIcons:t})=>{const n=e.troubles[0],s=()=>{n!=null&&n.resolvable&&n.resolve()};return o.jsx(gn,{holder:e,showNavIcon:t,onHolderSelect:s},e.id)}),ws=l.kosComponent(({holders:e,showNavIcons:t,...n})=>{const s=u.useMemo(()=>e.map(r=>o.jsx(ys,{holder:r,showNavIcons:!!t},r.id)),[e,t]);return o.jsx(dt,{...n,children:s})}),js=l.KosLog.createLogger({name:"holder-group-view"});js.debug("holder-group-view component loaded");const ft=["water","carb","ns","nns"],Ss=y.div`
180
+ `,Is=l.kosComponent(({holder:e,showNavIcons:t})=>{const n=e.troubles[0],r=()=>{n!=null&&n.resolvable&&n.resolve()};return o.jsx(bo,{holder:e,showNavIcon:t,onHolderSelect:r},e.id)}),As=l.kosComponent(({holders:e,showNavIcons:t,...n})=>{const r=u.useMemo(()=>e.map(s=>o.jsx(Is,{holder:s,showNavIcons:!!t},s.id)),[e,t]);return o.jsx(pt,{...n,children:r})}),Ds=l.KosLog.createLogger({name:"holder-group-view"});Ds.debug("holder-group-view component loaded");const vt=["water","carb","ns","nns"],Fs=y.div`
179
181
  display: flex;
180
182
  flex-direction: column;
181
183
  overflow-y: auto;
182
184
  overflow-x: hidden;
183
185
  justify-content: space-between;
184
186
  height: 100%;
185
- `,bt=y.div`
187
+ `,yt=y.div`
186
188
  align-items: start;
187
189
 
188
190
  display: flex;
@@ -192,25 +194,25 @@
192
194
  text-overflow: ellipsis;
193
195
  width: 100%;
194
196
  color: ${e=>e.color??"var(--ddk-generic-color-black)"};
195
- `,ks=y.div`
197
+ `,Es=y.div`
196
198
  display: flex;
197
199
  align-items: center;
198
200
  justify-content: center;
199
201
  color: ${e=>e.color??"var(--ddk-generic-color-black)"};
200
- `,Ps=y.div`
202
+ `,Ls=y.div`
201
203
  font-size: var(--ddk-component-holder-card-footer-font-size);
202
204
  color: ${e=>e.color??"var(--ddk-generic-color-black)"};
203
- `,Ts=e=>!e||e==="white",Is=e=>e?void 0:"white",xn=l.kosComponent(({holder:e,onHolderSelect:t,showNavIcon:n})=>{var Y,O;const{model:s}=oe(),{visibleTroubles:r,initialized:c}=z(e),{t:d}=l.useKosTranslation(["troubles","common"]),{componentModeOverride:i}=a.useComponentConfigurationContext(),p=i==="compact",{getExtensions:m}=ie(),x=(Y=s==null?void 0:s.currentRole)==null?void 0:Y.toLowerCase(),[g,h]=u.useState(!1),f=!!e.ingredientId,C=(r==null?void 0:r.length)??0,b=r==null?void 0:r[0],j=r?r.length>0:!1,P=j?`${b==null?void 0:b.color}`:void 0,T=Ts(P),k=j?Is(T):f?void 0:"var(--ddk-component-dashboard-card-color-unassigned)",w=a.useAbbreviation(e.name,i==="compact"),v=d(`common:macros.${e.name}`),A=d(`common:${e.ingredientName}`),F=f?ft.includes(e.name)?"":` ${A}`:` ${d("common:macros.unassigned")}`,B=`${v}${F}`,ae=p?ft.includes(e.name)?v:F:`${v} ${F}`,ce=i==="compact"&&o.jsx(ks,{color:k,children:w}),W=o.jsx(bt,{color:k,children:ae}),le=o.jsx(bt,{children:B}),de=l.ExtensionManager.executeDashboardKeyFactory(e)||"",G=m(L.EXTENSION_POINT_DASHBOARD).filter(V=>!!V.data.pumpDetail).reduce((V,me)=>(V[me.data.pumpDetail.dashboardKey]=me.data.pumpDetail,V),{}),Pe=!!G[de],{HolderContent:ue,modalOptions:Te}=Ne(e),Ie=ue?o.jsx(ue,{holder:e,onComplete:()=>h(!1)}):Pe?o.jsx(N.DynamicComponent,{extension:L.EXTENSION_POINT_DASHBOARD_PUMP_DETAIL,module:(O=G[de])==null?void 0:O.id,props:{holder:e}}):null,q=re(b),pe=j?o.jsx(Ps,{color:k,children:d(q.summary)}):null,X=u.useCallback(()=>{e.sortedPumps.length>0&&(x==="technician"?h(!0):j&&(t==null||t(e)))},[j,e,t,x]);return o.jsxs(o.Fragment,{children:[o.jsx(a.HolderDashboardCard,{avatar:ce,backgroundColor:P,body:j?null:o.jsx(a.StatusIndicator,{size:"small",status:j?"pending":"completed"}),footer:pe,cardId:e.path,errors:C,title:W,showNavIcon:n,onCardSelect:X},e.path),o.jsx(a.Modal,{contain:i!=="compact",...Te,show:g,onClose:()=>h(!1),children:o.jsxs(Ss,{children:[o.jsx(a.Header,{contain:i==="compact",showCloseButton:!0,title:le,onClose:()=>h(!1),CloseButton:i==="compact"?a.BackButton:void 0}),Ie]})}),(b==null?void 0:b.future)&&o.jsx(D,{title:le,future:b==null?void 0:b.future})]})}),Ds=l.kosComponent(({holders:e,showNavIcons:t,...n})=>o.jsx(dt,{...n,children:e.map(s=>{const r=s.troubles[0];return o.jsx(xn,{holder:s,showNavIcon:t,onHolderSelect:()=>{r.resolvable&&r.resolve()}},s.id)})})),As=y(_.MessageInformationIconWithBackground)`
205
+ `,Bs=e=>!e||e==="white",Ms=e=>e?void 0:"white",Co=l.kosComponent(({holder:e,onHolderSelect:t,showNavIcon:n})=>{var de,ue;const{model:r}=oe(),{visibleTroubles:s,initialized:c}=G(e),{t:d}=l.useKosTranslation(["troubles","common"]),{componentModeOverride:i}=a.useComponentConfigurationContext(),p=i==="compact",{getExtensions:m}=re(),x=(de=r==null?void 0:r.currentRole)==null?void 0:de.toLowerCase(),[g,h]=u.useState(!1),b=!!e.ingredientId,v=(s==null?void 0:s.length)??0,f=s==null?void 0:s[0],j=s?s.length>0:!1,T=j?`${f==null?void 0:f.color}`:void 0,P=Bs(T),w=j?Ms(P):b?void 0:"var(--ddk-component-dashboard-card-color-unassigned)",S=a.useAbbreviation(e.name,i==="compact"),C=d(`common:macros.${e.name}`),D=d(`common:${e.ingredientName}`),E=b?vt.includes(e.name)?"":` ${D}`:` ${d("common:macros.unassigned")}`,A=`${C}${E}`,L=p?vt.includes(e.name)?C:E:`${C} ${E}`,je=i==="compact"&&o.jsx(Es,{color:w,children:S}),ie=o.jsx(yt,{color:w,children:L}),q=o.jsx(yt,{children:A}),X=l.ExtensionManager.executeDashboardKeyFactory(e)||"",H=m(B.EXTENSION_POINT_DASHBOARD).filter(K=>!!K.data.pumpDetail).reduce((K,Y)=>(K[Y.data.pumpDetail.dashboardKey]=Y.data.pumpDetail,K),{}),ke=!!H[X],{HolderContent:ae,modalOptions:ce}=Oe(e),le=ae?o.jsx(ae,{holder:e,onComplete:()=>h(!1)}):ke?o.jsx(O.DynamicComponent,{extension:B.EXTENSION_POINT_DASHBOARD_PUMP_DETAIL,module:(ue=H[X])==null?void 0:ue.id,props:{holder:e}}):null,Pe=se(f),Te=j?o.jsx(Ls,{color:w,children:d(Pe.summary)}):null,Ie=u.useCallback(()=>{e.sortedPumps.length>0&&(x==="technician"?h(!0):j&&(t==null||t(e)))},[j,e,t,x]);return o.jsxs(o.Fragment,{children:[o.jsx(a.HolderDashboardCard,{avatar:je,backgroundColor:T,body:j?null:o.jsx(a.StatusIndicator,{size:"small",status:j?"pending":"completed"}),footer:Te,cardId:e.path,errors:v,title:ie,showNavIcon:n,onCardSelect:Ie},e.path),o.jsx(a.Modal,{contain:i!=="compact",...ce,show:g,onClose:()=>h(!1),children:o.jsxs(Fs,{children:[o.jsx(a.Header,{contain:i==="compact",showCloseButton:!0,title:q,onClose:()=>h(!1),CloseButton:i==="compact"?a.BackButton:void 0}),le]})}),(f==null?void 0:f.future)&&o.jsx(F,{title:q,future:f==null?void 0:f.future})]})}),Ks=l.kosComponent(({holders:e,showNavIcons:t,...n})=>o.jsx(pt,{...n,children:e.map(r=>{const s=r.troubles[0];return o.jsx(Co,{holder:r,showNavIcon:t,onHolderSelect:()=>{s.resolvable&&s.resolve()}},r.id)})})),Rs=y(U.MessageInformationIconWithBackground)`
204
206
  width: var(--ddk-component-macro-card-unavailable-icon-size);
205
207
  height: var(--ddk-component-macro-card-unavailable-icon-size);
206
- `,Fs=y(a.UtilityModalHeading)`
208
+ `,Ns=y(a.UtilityModalHeading)`
207
209
  text-align: center;
208
210
  font-size: var(--ddk-component-sub-modal-heading-font-size-medium);
209
- `,Ls=y.div`
211
+ `,$s=y.div`
210
212
  height: 100%;
211
213
  overflow-y: auto;
212
214
  width: 100%;
213
- `,Es=y.div`
215
+ `,Os=y.div`
214
216
  display: grid;
215
217
  gap: var(--ddk-component-macro-setup-card-gap);
216
218
 
@@ -220,7 +222,7 @@
220
222
  justify-content: center;
221
223
  width: 100%;
222
224
  user-select: none;
223
- `,Bs=e=>{const{componentModeOverride:t}=a.useComponentConfigurationContext();return o.jsx(Es,{compact:t==="compact",...e})},Ms=y.div`
225
+ `,Vs=e=>{const{componentModeOverride:t}=a.useComponentConfigurationContext();return o.jsx(Os,{compact:t==="compact",...e})},Hs=y.div`
224
226
  align-items: center;
225
227
 
226
228
  background: ${e=>e.selected?"var(--ddk-generic-color-grey-5)":"var(--ddk-generic-color-white)"};
@@ -243,28 +245,28 @@
243
245
  overflow-wrap: anywhere;
244
246
  padding: var(--ddk-component-macro-setup-card-header-padding-md);
245
247
  text-align: center;
246
- `,Ks=y.div`
248
+ `,_s=y.div`
247
249
  align-items: center;
248
250
  display: flex;
249
251
  flex-direction: column;
250
252
  gap: 32px;
251
253
  height: 100%;
252
254
  justify-content: center;
253
- `,Rs=y.div`
255
+ `,Us=y.div`
254
256
  color: var(--ddk-component-macro-card-unavailable-font-color);
255
257
  font-size: var(--ddk-component-macro-card-unavailable-font-size);
256
258
  font-weight: var(--ddk-component-macro-card-unavailable-font-weight);
257
- `,ut=tn(({holder:e,onComplete:t,macroAssignment:n,showCloseButton:s=!0})=>{const{t:r}=l.useKosTranslation("setup"),{t:c}=l.useKosTranslation("common"),{componentModeOverride:d}=a.useComponentConfigurationContext(),[i,p]=u.useState(e.ingredient),m=y.div`
259
+ `,mt=so(({holder:e,onComplete:t,macroAssignment:n,showCloseButton:r=!0})=>{const{t:s}=l.useKosTranslation("setup"),{t:c}=l.useKosTranslation("common"),{componentModeOverride:d}=a.useComponentConfigurationContext(),[i,p]=u.useState(e.ingredient),m=y.div`
258
260
  display: flex;
259
261
  flex-direction: column;
260
262
  gap: 24px;
261
263
  height: 100%;
262
- `;return o.jsxs(m,{children:[o.jsx(a.Content,{children:n.hasMacroIngredients?o.jsxs(o.Fragment,{children:[d==="standard"&&o.jsx(Fs,{children:r("select-and-assign-ingredients-for",{data:{name:c(`macros.${e.name}`)}})}),o.jsx(Ls,{children:o.jsx(Bs,{children:n.macroIngredients.map(x=>o.jsx(Ms,{selected:(i==null?void 0:i.id)===x.id,onPointerDown:()=>{i===x||p(x)},children:x.name},x.id))})})]}):o.jsxs(Ks,{children:[o.jsx(As,{}),o.jsx(Rs,{children:r("no-ingredients-available-for-assignment")})]})}),o.jsx(a.Footer,{children:n.hasMacroIngredients?o.jsxs(o.Fragment,{children:[d==="standard"&&s&&o.jsx(a.Button,{onPointerDown:()=>{t==null||t()},children:c("close")}),o.jsx(a.Button,{mode:"primary",disabled:!i||i.id===e.ingredientId,onPointerDown:async()=>{await e.assignIngredient(i==null?void 0:i.id),t==null||t()},children:c("assignIngredient")})]}):s!==!1&&o.jsx(a.Button,{mode:"primary",onPointerDown:()=>{t==null||t()},children:c("proceed")})})]})}),Ns=y.div`
264
+ `;return o.jsxs(m,{children:[o.jsx(a.Content,{children:n.hasMacroIngredients?o.jsxs(o.Fragment,{children:[d==="standard"&&o.jsx(Ns,{children:s("select-and-assign-ingredients-for",{data:{name:c(`macros.${e.name}`)}})}),o.jsx($s,{children:o.jsx(Vs,{children:n.macroIngredients.map(x=>o.jsx(Hs,{selected:(i==null?void 0:i.id)===x.id,onPointerDown:()=>{i===x||p(x)},children:x.name},x.id))})})]}):o.jsxs(_s,{children:[o.jsx(Rs,{}),o.jsx(Us,{children:s("no-ingredients-available-for-assignment")})]})}),o.jsx(a.Footer,{children:n.hasMacroIngredients?o.jsxs(o.Fragment,{children:[d==="standard"&&r&&o.jsx(a.Button,{onPointerDown:()=>{t==null||t()},children:c("close")}),o.jsx(a.Button,{mode:"primary",disabled:!i||i.id===e.ingredientId,onPointerDown:async()=>{await e.assignIngredient(i==null?void 0:i.id),t==null||t()},children:c("assignIngredient")})]}):r!==!1&&o.jsx(a.Button,{mode:"primary",onPointerDown:()=>{t==null||t()},children:c("proceed")})})]})}),zs=y.div`
263
265
  display: flex;
264
266
  flex-direction: column;
265
267
  gap: 24px;
266
268
  padding: 24px;
267
- `,$s=Fe.withAssembly(({assembly:e,showHeading:t})=>o.jsx(hn,{iceAgitator:e.iceAgitator,showHeading:t})),hn=l.kosComponent(({iceAgitator:e,showHeading:t})=>{const{t:n}=l.useKosTranslation("about"),s=yt.useLocation(),{componentModeOverride:r}=a.useComponentConfigurationContext(),c=(e==null?void 0:e.iceTypes.map(i=>({id:i,label:i})))||[],d=u.useCallback(async()=>{(e==null?void 0:e.type.value)!==void 0&&(e==null||e.updateIceType(e.type.value))},[e]);return e?o.jsxs(a.TabContainer,{children:[t&&o.jsx(a.SettingsSubheading,{children:n("ice-settings","Ice Settings")}),r==="compact"?o.jsx(Ut,{configProperty:e.type,onChange:i=>e.updateIceType(i),options:c,label:n("ice-type","Ice Type")}):o.jsx(Ce,{configProperty:e.type,onSave:i=>e.updateIceType(i),items:c,label:n("ice-type","Ice Type")||void 0}),o.jsx(H,{configProperty:e.durationSec,label:n("agitation-duration","Agitation duration")||void 0}),o.jsx(H,{configProperty:e.inactivitySec,label:n("agitate-inactivity","Agitate after inactivity")||void 0}),o.jsx(H,{configProperty:e.volWithoutIceMl,label:n("agitate-without-ice","Agitate after poured without ice")||void 0}),r!=="compact"&&(s==null?void 0:s.pathname.includes("/settings"))&&o.jsx(a.Footer,{children:o.jsx(a.Button,{onPointerDown:d,children:n("reset")})})]}):"Ice model not loaded..."}),Os=l.kosComponent(({cardModel:e})=>{l.KosLog.debug("Agitator",e.path);const{t}=l.useKosTranslation(["agitator","common"]),n=u.useCallback(r=>{r==="agitate"?e==null||e.testAgitate():r==="gate"?e==null||e.testGate():r==="pour"?e==null||e.pourIce():r==="cancelPour"&&(e==null||e.cancelIceDispense())},[e]),s=e.isAgitating||e.isIceChuteOpen;return o.jsxs(o.Fragment,{children:[o.jsxs(a.Content,{children:[o.jsx(a.FrameContainer,{name:"Ice Properties",children:o.jsxs(Vs,{children:[o.jsxs(Ct,{children:[o.jsxs(he,{children:[o.jsx(a.Label,{children:"Agitation Duration:"}),o.jsx(Z,{children:e.durationSec.displayValue})]}),o.jsxs(he,{children:[o.jsx(a.Label,{children:"Ice Max Dispense:"}),o.jsx(Z,{children:e.maxDispenseSec.displayValue})]}),o.jsxs(he,{children:[o.jsx(a.Label,{children:"Agitate After:"}),o.jsxs(Z,{children:[e.inactivitySec.displayValue," Inactive"]}),o.jsxs(Z,{children:[e.volWithoutIceMl.displayValue," Poured without ice"]})]})]}),o.jsx(Ct,{children:o.jsxs(he,{children:[o.jsx(a.Label,{children:"Ice Type:"}),o.jsx(Z,{children:e.type.displayValue})]})})]})}),o.jsx(a.InfoCard,{label:"Agitating",value:e.isAgitating?t("common:yes"):t("common:no")}),o.jsx(a.InfoCard,{label:"Ice Chute Open",value:e.isIceChuteOpen?t("common:yes"):t("common:no")})]}),o.jsxs(a.Footer,{children:[o.jsx(a.Button,{disabled:s,onPointerDown:()=>n("agitate"),children:t("action.label",{context:"agitator"})}),o.jsx(a.Button,{disabled:s,onPointerDown:()=>n("gate"),children:t("action.label",{context:"gate"})}),o.jsx(a.Button,{disabled:s,onPointerUp:()=>n("cancelPour"),onPointerDown:()=>n("pour"),children:t("action.label",{context:"pour"})})]}),e.agitateFuture&&o.jsx(D,{title:t("testing"),future:e.agitateFuture}),e.gateFuture&&o.jsx(D,{title:t("testing"),future:e.gateFuture})]})}),Vs=y.div`
269
+ `,Ws=Le.withAssembly(({assembly:e,showHeading:t})=>o.jsx(vo,{iceAgitator:e.iceAgitator,showHeading:t})),vo=l.kosComponent(({iceAgitator:e,showHeading:t})=>{const{t:n}=l.useKosTranslation("about"),r=St.useLocation(),{componentModeOverride:s}=a.useComponentConfigurationContext(),c=(e==null?void 0:e.iceTypes.map(i=>({id:i,label:i})))||[],d=u.useCallback(async()=>{(e==null?void 0:e.type.value)!==void 0&&(e==null||e.updateIceType(e.type.value))},[e]);return e?o.jsxs(a.TabContainer,{children:[t&&o.jsx(a.SettingsSubheading,{children:n("ice-settings","Ice Settings")}),s==="compact"?o.jsx(Gt,{configProperty:e.type,onChange:i=>e.updateIceType(i),options:c,label:n("ice-type","Ice Type")}):o.jsx(fe,{configProperty:e.type,onSave:i=>e.updateIceType(i),items:c,label:n("ice-type","Ice Type")||void 0}),o.jsx(_,{configProperty:e.durationSec,label:n("agitation-duration","Agitation duration")||void 0}),o.jsx(_,{configProperty:e.inactivitySec,label:n("agitate-inactivity","Agitate after inactivity")||void 0}),o.jsx(_,{configProperty:e.volWithoutIceMl,label:n("agitate-without-ice","Agitate after poured without ice")||void 0}),s!=="compact"&&(r==null?void 0:r.pathname.includes("/settings"))&&o.jsx(a.Footer,{children:o.jsx(a.Button,{onPointerDown:d,children:n("reset")})})]}):"Ice model not loaded..."}),Gs=l.kosComponent(({cardModel:e})=>{l.KosLog.debug("Agitator",e.path);const{t}=l.useKosTranslation(["agitator","common"]),n=u.useCallback(s=>{s==="agitate"?e==null||e.testAgitate():s==="gate"?e==null||e.testGate():s==="pour"?e==null||e.pourIce():s==="cancelPour"&&(e==null||e.cancelIceDispense())},[e]),r=e.isAgitating||e.isIceChuteOpen;return o.jsxs(o.Fragment,{children:[o.jsxs(a.Content,{children:[o.jsx(a.FrameContainer,{name:"Ice Properties",children:o.jsxs(qs,{children:[o.jsxs(wt,{children:[o.jsxs(ge,{children:[o.jsx(a.Label,{children:"Agitation Duration:"}),o.jsx(Z,{children:e.durationSec.displayValue})]}),o.jsxs(ge,{children:[o.jsx(a.Label,{children:"Ice Max Dispense:"}),o.jsx(Z,{children:e.maxDispenseSec.displayValue})]}),o.jsxs(ge,{children:[o.jsx(a.Label,{children:"Agitate After:"}),o.jsxs(Z,{children:[e.inactivitySec.displayValue," Inactive"]}),o.jsxs(Z,{children:[e.volWithoutIceMl.displayValue," Poured without ice"]})]})]}),o.jsx(wt,{children:o.jsxs(ge,{children:[o.jsx(a.Label,{children:"Ice Type:"}),o.jsx(Z,{children:e.type.displayValue})]})})]})}),o.jsx(a.InfoCard,{label:"Agitating",value:e.isAgitating?t("common:yes"):t("common:no")}),o.jsx(a.InfoCard,{label:"Ice Chute Open",value:e.isIceChuteOpen?t("common:yes"):t("common:no")})]}),o.jsxs(a.Footer,{children:[o.jsx(a.Button,{disabled:r,onPointerDown:()=>n("agitate"),children:t("action.label",{context:"agitator"})}),o.jsx(a.Button,{disabled:r,onPointerDown:()=>n("gate"),children:t("action.label",{context:"gate"})}),o.jsx(a.Button,{disabled:r,onPointerUp:()=>n("cancelPour"),onPointerDown:()=>n("pour"),children:t("action.label",{context:"pour"})})]}),e.agitateFuture&&o.jsx(F,{title:t("testing"),future:e.agitateFuture}),e.gateFuture&&o.jsx(F,{title:t("testing"),future:e.gateFuture})]})}),qs=y.div`
268
270
  display: flex;
269
271
  flex-direction: row;
270
272
  align-items: center;
@@ -273,7 +275,7 @@
273
275
  height: 100%;
274
276
  gap: 10px;
275
277
  padding-block: 16px;
276
- `,Ct=y.div`
278
+ `,wt=y.div`
277
279
  display: flex;
278
280
  flex-direction: column;
279
281
  align-items: flex-start;
@@ -283,16 +285,16 @@
283
285
  padding-inline: 16px;
284
286
 
285
287
  gap: 10px;
286
- `,he=y.div`
288
+ `,ge=y.div`
287
289
  display: flex;
288
290
  flex-direction: column;
289
291
  width: 100%;
290
292
  `,Z=y(a.Text)`
291
293
  color: var(--ddk-generic-color-grey-60);
292
- `,Hs=y.div`
294
+ `,Xs=y.div`
293
295
  font-size: var(--ddk-component-holder-card-footer-font-size);
294
296
  color: ${e=>e.color??"var(--ddk-generic-color-black)"};
295
- `,_s=l.kosComponent(e=>{l.KosLog.debug(`summary component loaded for holder ${e}`),l.KosLog.info(`render agitator summary for holder ${e.cardModel.path}`);const{t}=l.useKosTranslation("common");return o.jsxs(o.Fragment,{children:[o.jsx(a.StatusIndicator,{size:"small",status:"completed"}),e.cardModel.isAgitating&&o.jsx(Hs,{children:t("agitating")})]})}),Us=l.kosComponent(({showHeading:e})=>{var p,m,x,g,h,f,C,b;const{t}=l.useKosTranslation("region"),{model:n}=ye(),{regionModel:s}=l.useKosRegions(),r=u.useCallback(j=>({id:j,label:t(`locale.country.${j}`)}),[t]),{selectedRegion:c,updateRegion:d,regionSelectProps:i}=l.useKosRegions(r);return o.jsxs(a.TabContainer,{children:[e&&o.jsx(a.SettingsSubheading,{children:t("localization","Localization")}),o.jsx(a.PickerCard,{cancelButtonLabel:t("discard-changes","Discard Changes")||void 0,closeButtonLabel:t("close","Close")||void 0,displayValue:t(`locale.country.${c}`)||void 0,items:i.options,label:t("country","Country"),loop:!1,onSave:j=>d(j),proceedButtonLabel:t("save","Save")||void 0,selectedItemId:c}),((p=s==null?void 0:s.unitSystemOptions)==null?void 0:p.length)&&o.jsx(a.SwitchCard,{label:t("units-of-measurement","Units of Measurement"),options:(m=s==null?void 0:s.unitSystemOptions)==null?void 0:m.map(j=>({id:j.id,label:`${t(`locale.unit.${j.id}`)}/${t(`locale.units.${j.id}`)}`})),onChange:j=>s==null?void 0:s.setSelectedUnitSystem(String(j)),value:String(s==null?void 0:s.selectedUnitSystem).toLowerCase()}),o.jsx(a.PickerCard,{cancelButtonLabel:t("discard-changes","Discard Changes")||void 0,closeButtonLabel:t("close","Close")||void 0,displayValue:(x=n==null?void 0:n.ncuiLanguage)!=null&&x.displayValue?t(`locale-ncui-language.${(g=n==null?void 0:n.ncuiLanguage)==null?void 0:g.displayValue}`):void 0,items:(C=(f=(h=n==null?void 0:n.ncuiLanguageData)==null?void 0:h.data)==null?void 0:f.languages)==null?void 0:C.map(({locale:j,name:P})=>({id:j,label:P})),label:t("non-consumer-language","Non-Consumer Language"),loop:!1,onSave:j=>{var P;return(P=n==null?void 0:n.ncuiLanguage)==null?void 0:P.updateProperty(j)},proceedButtonLabel:t("save","Save")||void 0,selectedItemId:(b=n==null?void 0:n.ncuiLanguage)==null?void 0:b.displayValue})]})});y.div`
297
+ `,Ys=l.kosComponent(e=>{l.KosLog.debug(`summary component loaded for holder ${e}`),l.KosLog.info(`render agitator summary for holder ${e.cardModel.path}`);const{t}=l.useKosTranslation("common");return o.jsxs(o.Fragment,{children:[o.jsx(a.StatusIndicator,{size:"small",status:"completed"}),e.cardModel.isAgitating&&o.jsx(Xs,{children:t("agitating")})]})}),Zs=l.kosComponent(({showHeading:e})=>{var x,g,h,b,v;const{t}=l.useKosTranslation("region"),{allLocales:n}=l.useKosTranslationContext(),{model:r}=Ce(),{regionModel:s}=l.useKosRegions(),c=u.useCallback(f=>({id:f,label:t(`locale.country.${f}`)}),[t]),d=u.useMemo(()=>n.reduce((f,{locale:j,label:T})=>(f[j]=T,f),{}),[n]),{selectedRegion:i,updateRegion:p,regionSelectProps:m}=l.useKosRegions(c);return o.jsxs(a.TabContainer,{children:[e&&o.jsx(a.SettingsSubheading,{children:t("localization","Localization")}),o.jsx(a.PickerCard,{cancelButtonLabel:t("discard-changes","Discard Changes")||void 0,closeButtonLabel:t("close","Close")||void 0,displayValue:t(`locale.country.${i}`)||void 0,items:m.options,label:t("country","Country"),loop:!1,onSave:f=>p(f),proceedButtonLabel:t("save","Save")||void 0,selectedItemId:i}),((x=s==null?void 0:s.unitSystemOptions)==null?void 0:x.length)&&o.jsx(a.SwitchCard,{label:t("units-of-measurement","Units of Measurement"),options:(g=s==null?void 0:s.unitSystemOptions)==null?void 0:g.map(f=>({id:f.id,label:`${t(`locale.unit.${f.id}`)}/${t(`locale.units.${f.id}`)}`})),onChange:f=>s==null?void 0:s.setSelectedUnitSystem(String(f)),value:String(s==null?void 0:s.selectedUnitSystem).toLowerCase()}),o.jsx(a.PickerCard,{cancelButtonLabel:t("discard-changes","Discard Changes")||void 0,closeButtonLabel:t("close","Close")||void 0,displayValue:d[((h=r==null?void 0:r.ncuiLanguage)==null?void 0:h.displayValue)??""]??((b=r==null?void 0:r.ncuiLanguage)==null?void 0:b.displayValue),items:n==null?void 0:n.map(({locale:f,label:j})=>({id:f,label:j})),label:t("non-consumer-language","Non-Consumer Language"),loop:!1,onSave:f=>{var j;return(j=r==null?void 0:r.ncuiLanguage)==null?void 0:j.updateProperty(f)},proceedButtonLabel:t("save","Save")||void 0,selectedItemId:(v=r==null?void 0:r.ncuiLanguage)==null?void 0:v.displayValue})]})});y.div`
296
298
  display: flex;
297
299
  font-size: var(--ddk-generic-font-size-x-small);
298
300
  font-weight: normal;
@@ -326,11 +328,11 @@
326
328
  display: flex;
327
329
  justify-content: flex-end;
328
330
  }
329
- `;const zs=y.div`
331
+ `;const Qs=y.div`
330
332
  display: flex;
331
333
  align-items: center;
332
334
  justify-content: flex-end;
333
- `,Ws=({item:e,valueKey:t})=>{const{label:n,value:s}=e;if(t==="label")return o.jsx("div",{children:o.jsx("b",{children:n})});if(t==="value")return o.jsx(zs,{children:s})},Gs=({groupName:e,networkTestContainer:t})=>{var s;const{t:n}=l.useKosTranslation("connectivity");return((s=t==null?void 0:t.models.getIndexByKey("group",e))==null?void 0:s.map(r=>{const c=e==="interface",d=c?r.results.map(i=>({label:i.name,value:i.val})):[];return c?o.jsx(a.Table,{CellRenderer:Ws,data:d,dataKeys:["label","value"],heading:r.name}):o.jsx(a.StatusCard,{leftLabel:n(`${r.name}`),rightLabel:r.inProgress?n("inProgress"):r.timestamp?r.passed?n("success"):n("Fail"):n("testNotRun"),type:r.inProgress?"InProgress":r.timestamp?r.passed?"Success":"Fail":"Default",failureMessage:n("failureMessage"),lastSuccess:r==null?void 0:r.timestamp,lastSuccessful:n("lastSuccessful")},r.id)}))||[]},qs=nn(Gs),Xs=y.div`
335
+ `,Js=({item:e,valueKey:t})=>{const{label:n,value:r}=e;if(t==="label")return o.jsx("div",{children:o.jsx("b",{children:n})});if(t==="value")return o.jsx(Qs,{children:r})},er=({groupName:e,networkTestContainer:t})=>{var r;const{t:n}=l.useKosTranslation("connectivity");return((r=t==null?void 0:t.models.getIndexByKey("group",e))==null?void 0:r.map(s=>{const c=e==="interface",d=c?s.results.map(i=>({label:i.name,value:i.val})):[];return c?o.jsx(a.Table,{CellRenderer:Js,data:d,dataKeys:["label","value"],heading:s.name}):o.jsx(a.StatusCard,{leftLabel:n(`${s.name}`),rightLabel:s.inProgress?n("inProgress"):s.timestamp?s.passed?n("success"):n("Fail"):n("testNotRun"),type:s.inProgress?"InProgress":s.timestamp?s.passed?"Success":"Fail":"Default",failureMessage:n("failureMessage"),lastSuccess:s==null?void 0:s.timestamp,lastSuccessful:n("lastSuccessful")},s.id)}))||[]},tr=ro(er),or=y.div`
334
336
  background-color: var(--ddk-generic-color-grey-80);
335
337
  color: var(--ddk-generic-color-grey-5);
336
338
  border-radius: 5px;
@@ -339,58 +341,58 @@
339
341
  align-items: center;
340
342
  justify-content: center;
341
343
  font-size: var(--ddk-generic-font-size-xx-small);
342
- `,fn=l.kosComponent(({showAction:e=!0,trouble:t,showHolder:n})=>{var j;const{t:s}=l.useKosTranslation(["troubles"]),{model:r}=je(),c=r==null?void 0:r.currentRole,d=we(t),{action:i,label:p,progress:m}=re(t),x=t.resolvable??!1,{future:g}=K(t),h=(j=t==null?void 0:t.data)!=null&&j.holderNames&&t.data.holderNames.length>0?o.jsx(Xs,{children:t.data.holderNames[0]}):null,f=(t==null?void 0:t.color)??"orange",C=(t==null?void 0:t.shouldDefer)??!1,b=(t==null?void 0:t.deferred)??!1;return o.jsxs(o.Fragment,{children:[o.jsx(a.NotificationCard,{label:s(p,{context:c==null?void 0:c.toLowerCase(),data:d}),indicatorColor:f,buttonLabel:e?b?"Queued":C?"Queue":s(i,{context:c,defaultValue:""}):void 0,date:t.createTime,prefix:n?h:void 0,onAction:e&&x&&!b?()=>{t.resolve()}:void 0}),g&&o.jsx(D,{title:s(m,{context:c}),future:b?void 0:g,failureMessage:s(`troubles.${t.type}.error`,{context:g!=null&&g.reason?"reason":void 0,data:{reason:g!=null&&g.reason?`__troubles.errors.${g==null?void 0:g.reason}__`:void 0}})})]})}),Ys=({viewContainerId:e,extensionPointId:t,tabs:n,...s})=>{const{getExtensions:r}=N.useKosPluginsContext(),c=r(e),d=r(t).reduce((g,h)=>(g[h.id]=h,g),{}),i=c.map(g=>g.data.namespace),{t:p}=l.useKosTranslation(["",...new Set(i)]),m=c.map(g=>{const h=[...g.data.settings].map(f=>{const C=d[f];return o.jsxs(a.TabContainer,{children:[o.jsx(a.SettingsSubheading,{children:p(`${C.data.namespace}:${C.data.title}`)}),o.jsx(N.DynamicComponent,{extension:t,module:f})]},C.id)});return{id:g.id,label:p(`${g.data.namespace}:${g.data.title}`),content:o.jsx(a.TabViewLayout,{children:h})}}),x=[...n,...m];return o.jsx(a.TabRouter,{...s,tabs:x})},Se=l.kosComponent(({holder:e})=>{const{t}=l.useKosTranslation("common"),{componentModeOverride:n}=a.useComponentConfigurationContext(),s=n==="compact",{visibleTroubles:r,initialized:c}=z(e),i=((r==null?void 0:r.length)??0)>0,p=!!e.troublesByType.FlushTrouble,m=!!e.troublesByType.PrimeTrouble,x=!!e.troublesByType.PurgeTrouble,g=p?e.troublesByType.FlushTrouble[0]:m?e.troublesByType.PrimeTrouble[0]:x?e.troublesByType.PurgeTrouble[0]:null,h=(g==null?void 0:g.shouldDefer)??!1,f=(g==null?void 0:g.deferred)??!1,[C,b]=ne(e),j=u.useCallback(P=>{h?g==null||g.resolve():b(P)},[b,h,g]);return i&&c&&s?o.jsxs(o.Fragment,{children:[p?o.jsx(a.Button,{disabled:f,mode:"primary",onPointerDown:()=>j("flush"),children:t("flush",{context:f?"queued":""})}):x?o.jsx(a.Button,{disabled:f,mode:"primary",onPointerDown:()=>j("purge"),children:t("purge",{context:f?"queued":""})}):m?o.jsx(a.Button,{disabled:f,mode:"primary",onPointerDown:()=>j("prime"),children:t("prime",{context:f?"queued":""})}):null,C&&o.jsx(D,{...C})]}):null}),$=({holder:e,filter:t})=>{const{componentModeOverride:n}=a.useComponentConfigurationContext(),s=n==="standard",{visibleTroubles:r,initialized:c}=z(e),d=t?r==null?void 0:r.filter(t):r;return((d==null?void 0:d.length)??0)>0&&c&&(r==null?void 0:r.map(m=>o.jsx(fn,{showAction:s,trouble:m},m.id)))},Zs=l.kosComponent(({holder:e})=>{const{t}=l.useKosTranslation("common"),[n,s]=ne(e),[r,c]=u.useState();u.useEffect(()=>{async function h(){if(e.ingredientId!==void 0){const f=await e.resolveIntentVolume("CALIBRATE");c(Math.round(f.volume))}}h()},[e,e.ingredientId]);const d=e.ingredientId!==void 0,i=r&&r>0,{holderExperience:p,setHolderExperience:m,currentExperienceId:x}=se(e);return d||x==="replace-line"?o.jsxs(o.Fragment,{children:[o.jsx(a.Content,{contain:!0,children:o.jsx($,{holder:e})}),o.jsxs(a.Footer,{children:[o.jsx(a.Button,{disabled:!i,onPointerDown:()=>s("calibrate"),children:i?t("intentPour",{data:{volume:r}}):t("calibrate")}),o.jsx(a.Button,{onPointerDown:()=>m("replace-line"),children:t("replace-line")}),o.jsx(U,{disabled:!d,model:e}),o.jsx(Se,{holder:e})]}),o.jsx(u.Suspense,{children:p}),n&&o.jsx(D,{...n})]}):o.jsx(ut,{showCloseButton:!1,holder:e})}),Qs=l.kosComponent(({holder:e})=>{const{t}=l.useKosTranslation("common"),[n,s]=ne(e),[r,c]=u.useState();u.useEffect(()=>{async function p(){if(e.ingredientId!==void 0){const m=await e.resolveIntentVolume("CALIBRATE");c(Math.round(m.volume))}}p()},[e,e.ingredientId]);const d=e.ingredientId!==void 0,i=r&&r>0;return d?o.jsxs(o.Fragment,{children:[o.jsx(a.Content,{contain:!0,children:o.jsx($,{holder:e})}),o.jsxs(a.Footer,{children:[o.jsx(a.Button,{disabled:!i,onPointerDown:()=>s("calibrate"),children:i?t("intentPour",{data:{volume:r}}):t("calibrate")}),o.jsx(U,{disabled:!d,model:e}),o.jsx(Se,{holder:e})]}),n&&o.jsx(D,{...n})]}):o.jsx(ut,{showCloseButton:!1,holder:e})}),Js=y.div`
344
+ `,yo=l.kosComponent(({showAction:e=!0,trouble:t,showHolder:n})=>{var j;const{t:r}=l.useKosTranslation(["troubles"]),{model:s}=ye(),c=s==null?void 0:s.currentRole,d=ve(t),{action:i,label:p,progress:m}=se(t),x=t.resolvable??!1,{future:g}=N(t),h=(j=t==null?void 0:t.data)!=null&&j.holderNames&&t.data.holderNames.length>0?o.jsx(or,{children:t.data.holderNames[0]}):null,b=(t==null?void 0:t.color)??"orange",v=(t==null?void 0:t.shouldDefer)??!1,f=(t==null?void 0:t.deferred)??!1;return o.jsxs(o.Fragment,{children:[o.jsx(a.NotificationCard,{label:r(p,{context:c==null?void 0:c.toLowerCase(),data:d}),indicatorColor:b,buttonLabel:e?f?"Queued":v?"Queue":r(i,{context:c,defaultValue:""}):void 0,date:t.createTime,prefix:n?h:void 0,onAction:e&&x&&!f?()=>{t.resolve()}:void 0}),g&&o.jsx(F,{title:r(m,{context:c}),future:f?void 0:g,failureMessage:r(`troubles.${t.type}.error`,{context:g!=null&&g.reason?"reason":void 0,data:{reason:g!=null&&g.reason?`__troubles.errors.${g==null?void 0:g.reason}__`:void 0}})})]})}),nr=({viewContainerId:e,extensionPointId:t,tabs:n,...r})=>{const{getExtensions:s}=O.useKosPluginsContext(),c=s(e),d=s(t).reduce((g,h)=>(g[h.id]=h,g),{}),i=c.map(g=>g.data.namespace),{t:p}=l.useKosTranslation(["",...new Set(i)]),m=c.map(g=>{const h=[...g.data.settings].map(b=>{const v=d[b];return o.jsxs(a.TabContainer,{children:[o.jsx(a.SettingsSubheading,{children:p(`${v.data.namespace}:${v.data.title}`)}),o.jsx(O.DynamicComponent,{extension:t,module:b})]},v.id)});return{id:g.id,label:p(`${g.data.namespace}:${g.data.title}`),content:o.jsx(a.TabViewLayout,{children:h})}}),x=[...n,...m];return o.jsx(a.TabRouter,{...r,tabs:x})},we=l.kosComponent(({holder:e})=>{const{t}=l.useKosTranslation("common"),{componentModeOverride:n}=a.useComponentConfigurationContext(),r=n==="compact",{visibleTroubles:s,initialized:c}=G(e),i=((s==null?void 0:s.length)??0)>0,p=!!e.troublesByType.FlushTrouble,m=!!e.troublesByType.PrimeTrouble,x=!!e.troublesByType.PurgeTrouble,g=p?e.troublesByType.FlushTrouble[0]:m?e.troublesByType.PrimeTrouble[0]:x?e.troublesByType.PurgeTrouble[0]:null,h=(g==null?void 0:g.shouldDefer)??!1,b=(g==null?void 0:g.deferred)??!1,[v,f]=z(e),j=u.useCallback(T=>{h?g==null||g.resolve():f(T)},[f,h,g]);return i&&c&&r?o.jsxs(o.Fragment,{children:[p?o.jsx(a.Button,{disabled:b,mode:"primary",onPointerDown:()=>j("flush"),children:t("flush",{context:b?"queued":""})}):x?o.jsx(a.Button,{disabled:b,mode:"primary",onPointerDown:()=>j("purge"),children:t("purge",{context:b?"queued":""})}):m?o.jsx(a.Button,{disabled:b,mode:"primary",onPointerDown:()=>j("prime"),children:t("prime",{context:b?"queued":""})}):null,v&&o.jsx(F,{...v})]}):null}),V=({holder:e,filter:t})=>{const{componentModeOverride:n}=a.useComponentConfigurationContext(),r=n==="standard",{visibleTroubles:s,initialized:c}=G(e),d=t?s==null?void 0:s.filter(t):s;return((d==null?void 0:d.length)??0)>0&&c&&(s==null?void 0:s.map(m=>o.jsx(yo,{showAction:r,trouble:m},m.id)))},sr=l.kosComponent(({holder:e})=>{const{t}=l.useKosTranslation("common"),[n,r]=z(e),[s,c]=u.useState();u.useEffect(()=>{async function h(){if(e.ingredientId!==void 0){const b=await e.resolveIntentVolume("CALIBRATE");c(Math.round(b.volume))}}h()},[e,e.ingredientId]);const d=e.ingredientId!==void 0,i=s&&s>0,{holderExperience:p,setHolderExperience:m,currentExperienceId:x}=ne(e);return d||x==="replace-line"?o.jsxs(o.Fragment,{children:[o.jsx(a.Content,{contain:!0,children:o.jsx(V,{holder:e})}),o.jsxs(a.Footer,{children:[o.jsx(a.Button,{disabled:!i,onPointerDown:()=>r("calibrate"),children:i?t("intentPour",{data:{volume:s}}):t("calibrate")}),o.jsx(a.Button,{onPointerDown:()=>m("replace-line"),children:t("replace-line")}),o.jsx(W,{disabled:!d,model:e}),o.jsx(we,{holder:e})]}),o.jsx(u.Suspense,{children:p}),n&&o.jsx(F,{...n})]}):o.jsx(mt,{showCloseButton:!1,holder:e})}),rr=l.kosComponent(({holder:e})=>{const{t}=l.useKosTranslation("common"),[n,r]=z(e),[s,c]=u.useState();u.useEffect(()=>{async function p(){if(e.ingredientId!==void 0){const m=await e.resolveIntentVolume("CALIBRATE");c(Math.round(m.volume))}}p()},[e,e.ingredientId]);const d=e.ingredientId!==void 0,i=s&&s>0;return d?o.jsxs(o.Fragment,{children:[o.jsx(a.Content,{contain:!0,children:o.jsx(V,{holder:e})}),o.jsxs(a.Footer,{children:[o.jsx(a.Button,{disabled:!i,onPointerDown:()=>r("calibrate"),children:i?t("intentPour",{data:{volume:s}}):t("calibrate")}),o.jsx(W,{disabled:!d,model:e}),o.jsx(we,{holder:e})]}),n&&o.jsx(F,{...n})]}):o.jsx(mt,{showCloseButton:!1,holder:e})}),ir=y.div`
343
345
  display: flex;
344
346
  flex-direction: column;
345
347
  gap: var(--ddk-component-super-pump-container-gap);
346
- `,er=y.div`
348
+ `,ar=y.div`
347
349
  display: flex;
348
350
  flex-direction: column;
349
351
  gap: var(--ddk-component-cartridge-container-gap);
350
- `,bn=l.kosComponent(({holder:e})=>{const t=J.useFreestyleAssemblyContext(),{t:n}=l.useKosTranslation("common"),[s,r]=u.useState("all"),c=t==null?void 0:t.cartridgeAgitatorModels[0],d=!!e.ingredientId,i=e.pumps.getModel(s),p=l.getKosCompanionModel(e,J.FreestyleHolder.type),m=!!(p!=null&&p.agitated),{holderExperience:x,setHolderExperience:g}=se(e,i),h=u.useCallback(P=>{r(P.id)},[]),f=e.hasFuelGuage,C=e.fillPercent,{future:b}=K(c),j=u.useCallback(P=>P.data.pumpPath===(i==null?void 0:i.path),[i==null?void 0:i.path]);return o.jsxs(o.Fragment,{children:[o.jsxs(Js,{children:[o.jsxs(a.Content,{contain:!0,children:[d&&f&&o.jsxs(er,{children:[o.jsx(a.FuelGauge,{size:"large",value:C,showBarsOverride:!0}),o.jsx(Xe,{holder:e})]}),o.jsx(a.Tabs,{activeTab:s,contain:!1,tabs:[{id:"all",label:n("all"),content:o.jsx($,{holder:e})},...e.pumps.data.filter(P=>!P.virtual).map(P=>({id:P.id,label:n(`macros.${P.name}`),content:o.jsx($,{holder:P,filter:j})}))],onChange:h,showBackground:!1})]}),o.jsxs(a.Footer,{children:[i?o.jsxs(o.Fragment,{children:[o.jsx(a.Button,{onPointerDown:()=>g("replace-pump"),children:n("replace-pump")}),o.jsx(a.Button,{onPointerDown:()=>g("calibrateSPM"),children:n("calibrate")})]}):o.jsxs(o.Fragment,{children:[!d&&o.jsx(a.Button,{onPointerDown:()=>g("rfid-override"),children:n("rfid-override")}),o.jsx(a.Button,{onPointerDown:()=>g("replace-line"),children:n("replace-line")}),m&&o.jsx(a.Button,{onPointerDown:()=>c==null?void 0:c.testAgitate(),children:n("agitate")})]}),o.jsx(U,{disabled:!d,model:i||e})]})]}),o.jsx(u.Suspense,{children:x}),b&&o.jsx(D,{title:n("agitating"),future:b})]})}),tr=l.kosComponent(({holder:e})=>o.jsxs(o.Fragment,{children:[o.jsx($,{holder:e}),o.jsxs(a.Footer,{children:[o.jsx(U,{model:e}),o.jsx(Se,{holder:e})]})]})),nr=l.kosComponent(({holder:e})=>{const{t}=l.useKosTranslation("common"),[n,s]=ne(e),{holderExperience:r,setHolderExperience:c}=se(e);return o.jsxs(o.Fragment,{children:[o.jsx($,{holder:e}),o.jsxs(a.Footer,{children:[o.jsx(U,{model:e}),o.jsx(a.Button,{onPointerDown:()=>s("high-flow-test"),children:t("high-flow-test")}),o.jsx(a.Button,{onPointerDown:()=>s("low-flow-test"),children:t("low-flow-test")}),o.jsx(a.Button,{onPointerDown:()=>c("diagnostics"),children:t("diagnostics")}),o.jsx(a.Button,{onPointerDown:()=>c("calibrate"),children:t("calibrate")})]}),o.jsx(u.Suspense,{children:r}),n&&o.jsx(D,{...n})]})}),or=y.section`
352
+ `,wo=l.kosComponent(({holder:e})=>{const t=J.useFreestyleAssemblyContext(),{t:n}=l.useKosTranslation("common"),[r,s]=u.useState("all"),c=t==null?void 0:t.cartridgeAgitatorModels[0],d=!!e.ingredientId,i=e.pumps.getModel(r),p=l.getKosCompanionModel(e,J.FreestyleHolder.type),m=!!(p!=null&&p.agitated),{holderExperience:x,setHolderExperience:g}=ne(e,i),{calibrateVolume:h,canCalibrate:b,action:v,handleAction:f}=po(i),j=u.useCallback(C=>{s(C.id)},[]),T=e.hasFuelGuage,P=e.fillPercent,{future:w}=N(c),S=u.useCallback(C=>C.data.pumpPath===(i==null?void 0:i.path),[i==null?void 0:i.path]);return o.jsxs(o.Fragment,{children:[o.jsxs(ir,{children:[o.jsxs(a.Content,{contain:!0,children:[d&&T&&o.jsxs(ar,{children:[o.jsx(a.FuelGauge,{size:"large",value:P,showBarsOverride:!0}),o.jsx(Ze,{holder:e})]}),o.jsx(a.Tabs,{activeTab:r,contain:!1,tabs:[{id:"all",label:n("all"),content:o.jsx(V,{holder:e})},...e.pumps.data.filter(C=>!C.virtual).map(C=>({id:C.id,label:n(`macros.${C.name}`),content:o.jsx(V,{holder:C,filter:S})}))],onChange:j,showBackground:!1})]}),o.jsxs(a.Footer,{children:[i?o.jsxs(o.Fragment,{children:[o.jsx(a.Button,{onPointerDown:()=>g("replace-pump"),children:n("replace-pump")}),o.jsx(a.Button,{onPointerDown:()=>g("calibrateSPM"),children:n("calibrate")}),b&&o.jsx(a.Button,{disabled:!b,onPointerDown:()=>f("calibrate"),children:n("intentPour",{data:{volume:h}})})]}):o.jsxs(o.Fragment,{children:[!d&&o.jsx(a.Button,{onPointerDown:()=>g("rfid-override"),children:n("rfid-override")}),o.jsx(a.Button,{onPointerDown:()=>g("replace-line"),children:n("replace-line")}),m&&o.jsx(a.Button,{onPointerDown:()=>c==null?void 0:c.testAgitate(),children:n("agitate")})]}),o.jsx(W,{disabled:!d,model:i||e})]})]}),o.jsx(u.Suspense,{children:x}),w&&o.jsx(F,{title:n("agitating"),future:w}),v&&o.jsx(F,{...v})]})}),cr=l.kosComponent(({holder:e})=>o.jsxs(o.Fragment,{children:[o.jsx(V,{holder:e}),o.jsxs(a.Footer,{children:[o.jsx(W,{model:e}),o.jsx(we,{holder:e})]})]})),lr=l.kosComponent(({holder:e})=>{const{t}=l.useKosTranslation("common"),[n,r]=z(e),{holderExperience:s,setHolderExperience:c}=ne(e);return o.jsxs(o.Fragment,{children:[o.jsx(V,{holder:e}),o.jsxs(a.Footer,{children:[o.jsx(W,{model:e}),o.jsx(a.Button,{onPointerDown:()=>r("high-flow-test"),children:t("high-flow-test")}),o.jsx(a.Button,{onPointerDown:()=>r("low-flow-test"),children:t("low-flow-test")}),o.jsx(a.Button,{onPointerDown:()=>c("diagnostics"),children:t("diagnostics")}),o.jsx(a.Button,{onPointerDown:()=>c("calibrate"),children:t("calibrate")})]}),o.jsx(u.Suspense,{children:s}),n&&o.jsx(F,{...n})]})}),dr=y.section`
351
353
  align-items: center;
352
354
  display: flex;
353
355
  flex-direction: column;
354
356
  gap: 32px;
355
357
  height: 100%;
356
358
  justify-content: space-between;
357
- `,sr=y.div`
359
+ `,ur=y.div`
358
360
  display: flex;
359
361
  gap: 32px;
360
362
  flex-direction: column;
361
363
  align-items: center;
362
364
  padding: 32px;
363
- `,rr=y.div`
365
+ `,pr=y.div`
364
366
  display: flex;
365
367
  flex-direction: column;
366
368
  gap: 12px;
367
369
  text-align: center;
368
- `,ir=({onComplete:e})=>{const{t}=l.useKosTranslation("reboot"),[n,s]=u.useState(!1),{model:r}=ve(),{componentModeOverride:c}=a.useComponentConfigurationContext();return o.jsxs(a.Modal,{show:!n,onClose:()=>s(!0),onClosed:e,contain:c!=="compact",children:[c==="compact"&&o.jsx(a.Header,{title:t("reboot"),showCloseButton:!0,onClose:()=>s(!0),CloseButton:a.CompactCloseButton}),o.jsxs(or,{children:[o.jsxs(sr,{children:[o.jsx(a.QuestionIconStyle,{}),o.jsx(rr,{children:o.jsx(a.UtilityModalHeading,{children:t("modal-heading","Are you sure you want to reboot dispenser?")})})]}),o.jsx(a.CancelProceedFooter,{cancelLabel:`${t("cancel","Cancel")}`,proceedLabel:`${t("reboot","Reboot")}`,onCancel:()=>s(!0),onProceed:()=>r==null?void 0:r.completeReboot()})]})]})},Q=y(a.LabelInformation)`
370
+ `,mr=({onComplete:e})=>{const{t}=l.useKosTranslation("reboot"),[n,r]=u.useState(!1),{model:s}=be(),{componentModeOverride:c}=a.useComponentConfigurationContext();return o.jsxs(a.Modal,{show:!n,onClose:()=>r(!0),onClosed:e,contain:c!=="compact",children:[c==="compact"&&o.jsx(a.Header,{title:t("reboot"),showCloseButton:!0,onClose:()=>r(!0),CloseButton:a.CompactCloseButton}),o.jsxs(dr,{children:[o.jsxs(ur,{children:[o.jsx(a.QuestionIconStyle,{}),o.jsx(pr,{children:o.jsx(a.UtilityModalHeading,{children:t("modal-heading","Are you sure you want to reboot dispenser?")})})]}),o.jsx(a.CancelProceedFooter,{cancelLabel:`${t("cancel","Cancel")}`,proceedLabel:`${t("reboot","Reboot")}`,onCancel:()=>r(!0),onProceed:()=>s==null?void 0:s.completeReboot()})]})]})},Q=y(a.LabelInformation)`
369
371
  text-align: center;
370
- `,ar=l.kosComponent(({remoteTray:e,onComplete:t})=>{const{t:n}=l.useKosTranslation("common",{keyPrefix:"remote-nns"}),[s,r]=u.useState("idle"),[c,d]=u.useState({}),[i,p]=u.useState({}),x=e.holder.pumps.data.filter(T=>T.childPump),g=e.remoteTrayEnabled.value===!0,h=()=>x.every(T=>{const k=c[T.name];return k!=null&&k!==""}),f=u.useCallback((T,k)=>{d(w=>({...w,[T]:k}))},[]),C=u.useCallback(T=>(k="")=>{f(T,k)},[f]),b=u.useCallback(async()=>{e.remoteTrayEnabled.updateProperty(!g),r(g?"disableSuccess":"success")},[g,e.remoteTrayEnabled]),j=u.useCallback(async()=>{r("progress"),p({});let T=!1;await Promise.all(x.map(async k=>{try{const w=l.getKosCompanionModel(k,J.FreestylePump.type),[v]=await w.replacePump(c[k.name]);v&&(p(A=>({...A,[k.name]:v})),T=!0)}catch(w){console.error(w),p(v=>({...v,[k.name]:"unknownError"})),T=!0}})),T?r("pump"):b()},[g,c,x,e.remoteTrayEnabled,b]),P=u.useMemo(()=>({idle:{title:n(g?"disable-title":"idle-title"),information:o.jsx(Q,{children:n(g?"disable-info":"idle-info")}),footer:o.jsx(a.Button,{onPointerDown:()=>{g?b():r("pump")},children:n(g?"disable":"enable")}),status:"information"},pump:{title:n("pump-title"),information:o.jsxs(o.Fragment,{children:[o.jsx(Q,{children:n("pump-info")}),x.map(T=>o.jsx(a.ErrorInputCard,{layout:"hex",description:i[T.name]?n(`errors.${i[T.name]}`):"",value:c[T.name]??"",label:n(`pumps.${T.name}`),onChange:C(T.name)},T.name))]}),footer:o.jsxs(o.Fragment,{children:[o.jsx(a.Button,{disabled:!h(),onPointerDown:j,children:n("enter")}),o.jsx(a.Button,{onPointerDown:t,children:n("cancel")})]})},progress:{title:n("progress-title"),information:o.jsx(Q,{children:n("progress-info")}),status:"loading"},success:{title:n("success-title"),information:o.jsx(Q,{children:n("success-info")}),status:"success"},disableSuccess:{title:n("disable-success-title"),information:o.jsx(Q,{children:n("disable-success-info")}),status:"success"}}),[f,g,t,c,i,x,j,n]);return o.jsx(a.WorkflowModal,{...P[s],onClose:()=>t()})}),cr=l.kosComponent(({cardModel:e})=>(l.KosLog.debug("RemoteTray",e.name),o.jsx(bn,{holder:e.holder}))),lr=y.div`
372
+ `,gr=l.kosComponent(({remoteTray:e,onComplete:t})=>{const{t:n}=l.useKosTranslation("common",{keyPrefix:"remote-nns"}),[r,s]=u.useState("idle"),[c,d]=u.useState({}),[i,p]=u.useState({}),x=e.holder.pumps.data.filter(P=>P.childPump),g=e.remoteTrayEnabled.value===!0,h=()=>x.every(P=>{const w=c[P.name];return w!=null&&w!==""}),b=u.useCallback((P,w)=>{d(S=>({...S,[P]:w}))},[]),v=u.useCallback(P=>(w="")=>{b(P,w)},[b]),f=u.useCallback(async()=>{e.remoteTrayEnabled.updateProperty(!g),s(g?"disableSuccess":"success")},[g,e.remoteTrayEnabled]),j=u.useCallback(async()=>{s("progress"),p({});let P=!1;await Promise.all(x.map(async w=>{try{const S=l.getKosCompanionModel(w,J.FreestylePump.type),[C]=await S.replacePump(c[w.name]);C&&(p(D=>({...D,[w.name]:C})),P=!0)}catch(S){console.error(S),p(C=>({...C,[w.name]:"unknownError"})),P=!0}})),P?s("pump"):f()},[g,c,x,e.remoteTrayEnabled,f]),T=u.useMemo(()=>({idle:{title:n(g?"disable-title":"idle-title"),information:o.jsx(Q,{children:n(g?"disable-info":"idle-info")}),footer:o.jsx(a.Button,{onPointerDown:()=>{g?f():s("pump")},children:n(g?"disable":"enable")}),status:"information"},pump:{title:n("pump-title"),information:o.jsxs(o.Fragment,{children:[o.jsx(Q,{children:n("pump-info")}),x.map(P=>o.jsx(a.ErrorInputCard,{layout:"hex",description:i[P.name]?n(`errors.${i[P.name]}`):"",value:c[P.name]??"",label:n(`pumps.${P.name}`),onChange:v(P.name)},P.name))]}),footer:o.jsxs(o.Fragment,{children:[o.jsx(a.Button,{disabled:!h(),onPointerDown:j,children:n("enter")}),o.jsx(a.Button,{onPointerDown:t,children:n("cancel")})]})},progress:{title:n("progress-title"),information:o.jsx(Q,{children:n("progress-info")}),status:"loading"},success:{title:n("success-title"),information:o.jsx(Q,{children:n("success-info")}),status:"success"},disableSuccess:{title:n("disable-success-title"),information:o.jsx(Q,{children:n("disable-success-info")}),status:"success"}}),[b,g,t,c,i,x,j,n]);return o.jsx(a.WorkflowModal,{...T[r],onClose:()=>t()})}),xr=l.kosComponent(({cardModel:e})=>(l.KosLog.debug("RemoteTray",e.name),o.jsx(wo,{holder:e.holder}))),hr=y.div`
371
373
  font-size: var(--ddk-component-holder-card-footer-font-size);
372
374
  color: ${e=>e.color??"var(--ddk-generic-color-black)"};
373
375
  position: absolute;
374
376
  bottom: 6px;
375
- `,dr=l.kosComponent(e=>{l.KosLog.debug(`summary component loaded for holder ${e}`),l.KosLog.info(`render agitator summary for holder ${e.cardModel.name}`);const{t}=l.useKosTranslation("troubles"),n=e.cardModel,{hasTroubles:s,highestTrouble:r}=dn(n),c=re(r),d=we(r);return s?o.jsx(lr,{children:t(c.summary,{context:r!=null&&r.deferred?"queued":void 0,data:d})}):o.jsx(a.StatusIndicator,{size:"small",status:"completed"})}),Cn=l.kosComponent(({holder:e,onComplete:t})=>{const{t:n}=l.useKosTranslation("replace-line"),[s,r]=u.useState(),[c,d]=u.useState();u.useEffect(()=>{e.replaceLine().then(()=>{r("success")})},[e]);const i=()=>{if(c){r(void 0);return}t()};return o.jsx(a.StatusBar,{show:s!==void 0,onClose:i,children:s==="failure"?o.jsx(ee,{children:n(c||"unknownError")}):s==="success"?o.jsx(fe,{children:n("success")}):null})}),ur=y.div`
377
+ `,fr=l.kosComponent(e=>{l.KosLog.debug(`summary component loaded for holder ${e}`),l.KosLog.info(`render agitator summary for holder ${e.cardModel.name}`);const{t}=l.useKosTranslation("troubles"),n=e.cardModel,{hasTroubles:r,highestTrouble:s}=go(n),c=se(s),d=ve(s);return r?o.jsx(hr,{children:t(c.summary,{context:s!=null&&s.deferred?"queued":void 0,data:d})}):o.jsx(a.StatusIndicator,{size:"small",status:"completed"})}),jo=l.kosComponent(({holder:e,onComplete:t})=>{const{t:n}=l.useKosTranslation("replace-line"),[r,s]=u.useState(),[c,d]=u.useState();u.useEffect(()=>{e.replaceLine().then(()=>{s("success")})},[e]);const i=()=>{if(c){s(void 0);return}t()};return o.jsx(a.StatusBar,{show:r!==void 0,onClose:i,children:r==="failure"?o.jsx(ee,{children:n(c||"unknownError")}):r==="success"?o.jsx(xe,{children:n("success")}):null})}),br=y.div`
376
378
  display: flex;
377
379
  flex-direction: column;
378
380
  overflow-y: auto;
379
381
  overflow-x: hidden;
380
382
  gap: 32px;
381
383
  height: 100%;
382
- `,vn=l.kosComponent(({pump:e,onComplete:t})=>{const[n,s]=u.useState(!1),{t:r}=l.useKosTranslation("replace-pump"),{componentModeOverride:c}=a.useComponentConfigurationContext(),[d,i]=u.useState(),[p,m]=u.useState(),[x,g]=u.useState(),h=l.getKosCompanionModel(e,J.FreestylePump.type),f=e.name,C=u.useCallback(P=>{if(P!==void 0&&P.length===0)return r("pump-calibration-length-error")},[r]),b=u.useCallback(async()=>{if(d===void 0)return;const[P]=await h.replacePump(d);P?(m("failure"),g(P)):m("success")},[h,d]),j=()=>{if(x){m(void 0);return}s(!0)};return o.jsxs(o.Fragment,{children:[o.jsx(a.Modal,{contain:c!=="compact",onClosed:t,show:!n,children:o.jsxs(ur,{children:[o.jsx(a.Header,{contain:c==="compact",showCloseButton:!0,title:f?r("label-replace-pump",{label:f}):r("replace-pump"),showOpenButton:!1,onClose:()=>s(!0),CloseButton:c==="compact"?a.BackButton:void 0}),o.jsx(a.Content,{align:"top",children:o.jsx(a.InputCard,{isValid:C,label:r("enter-pump-calibration-code"),layout:"hex",value:d,onChange:P=>{g(void 0),i(P)}})}),o.jsx(a.Footer,{children:o.jsx(a.Button,{mode:"primary",disabled:!d||!!x,onPointerDown:b,children:r("replace-pump")})})]})}),o.jsx(a.StatusBar,{show:p!==void 0,onClose:j,children:p==="failure"?o.jsx(ee,{children:r(x||"unknownError")}):p==="success"?o.jsx(fe,{children:r("success")}):null})]})}),pr=/^[0-9a-fA-F]+$/,vt=e=>pr.test(e),mr=y.div`
384
+ `,So=l.kosComponent(({pump:e,onComplete:t})=>{const[n,r]=u.useState(!1),{t:s}=l.useKosTranslation("replace-pump"),{componentModeOverride:c}=a.useComponentConfigurationContext(),[d,i]=u.useState(),[p,m]=u.useState(),[x,g]=u.useState(),h=l.getKosCompanionModel(e,J.FreestylePump.type),b=e.name,v=u.useCallback(T=>{if(T!==void 0&&T.length===0)return s("pump-calibration-length-error")},[s]),f=u.useCallback(async()=>{if(d===void 0)return;const[T]=await h.replacePump(d);T?(m("failure"),g(T)):m("success")},[h,d]),j=()=>{if(x){m(void 0);return}r(!0)};return o.jsxs(o.Fragment,{children:[o.jsx(a.Modal,{contain:c!=="compact",onClosed:t,show:!n,children:o.jsxs(br,{children:[o.jsx(a.Header,{contain:c==="compact",showCloseButton:!0,title:b?s("label-replace-pump",{label:b}):s("replace-pump"),showOpenButton:!1,onClose:()=>r(!0),CloseButton:c==="compact"?a.BackButton:void 0}),o.jsx(a.Content,{align:"top",children:o.jsx(a.InputCard,{isValid:v,label:s("enter-pump-calibration-code"),layout:"hex",value:d,onChange:T=>{g(void 0),i(T)}})}),o.jsx(a.Footer,{children:o.jsx(a.Button,{mode:"primary",disabled:!d||!!x,onPointerDown:f,children:s("replace-pump")})})]})}),o.jsx(a.StatusBar,{show:p!==void 0,onClose:j,children:p==="failure"?o.jsx(ee,{children:s(x||"unknownError")}):p==="success"?o.jsx(xe,{children:s("success")}):null})]})}),Cr=/^[0-9a-fA-F]+$/,jt=e=>Cr.test(e),vr=y.div`
383
385
  display: flex;
384
386
  flex-direction: column;
385
387
  overflow-y: auto;
386
388
  overflow-x: hidden;
387
389
  height: 100%;
388
- `,yn=l.kosComponent(({holder:e,onComplete:t})=>{const n=e.name,[s,r]=u.useState(!1),{t:c}=l.useKosTranslation("rfid-override"),{componentModeOverride:d}=a.useComponentConfigurationContext(),[i,p]=u.useState(),[m,x]=u.useState(),[g,h]=u.useState(),[f,C]=u.useState(),[b,j]=u.useState(),P=w=>{if(w!==void 0&&w.length!==12)return c("errIdLen");if(!vt(w))return c("errIdFormat")},T=w=>{if(w!==void 0&&w.length!==8)return c("errCodeLen");if(!vt(w))return c("errCodeFormat")},k=async()=>{try{await e.overrideRfidCode({stickerId:i,stickerCode:m}),r(!0)}catch(w){switch(w.type){case"errIdLen":case"errIdFormat":C(w.type);break;case"errCodeLen":case"errCodeFormat":j(w.type);break;case"errVerify":case"errBadJson":h(w.type);break}}};return o.jsxs(a.Modal,{contain:d!=="compact",mode:"maximized",onClosed:t,show:!s,children:[o.jsx(a.Header,{contain:d==="compact",showCloseButton:!0,title:n?c("label-rfid-override",{label:n}):c("rfid-override"),showOpenButton:!1,onClose:()=>r(!0),CloseButton:d==="compact"?a.BackButton:void 0}),o.jsxs(mr,{children:[o.jsxs(a.Content,{align:"top",children:[o.jsx(a.InfoContainer,{children:c("info")}),o.jsx(a.ErrorInputCard,{isValid:P,description:f?c(f):void 0,label:c("enter-cartridge-id"),layout:"hex",value:i,onChange:w=>{C(void 0),p(w)}}),o.jsx(a.ErrorInputCard,{isValid:T,description:b?c(b):void 0,label:c("enter-code"),layout:"hex",value:m,onChange:w=>{j(void 0),x(w)}})]}),o.jsx(a.Footer,{children:o.jsx(a.Button,{mode:"primary",disabled:!i||!m,onPointerDown:k,children:c("override")})}),g&&o.jsx(a.ProgressBar,{onClose:()=>h(void 0),renderFailure:o.jsx(a.FailureCard,{heading:c("rfid-override"),message:c(g,{holder:e.name})}),show:!0,status:"failure",title:"",value:0})]})]})}),gr=l.kosComponent(({setupPath:e})=>{const{model:t}=je(),[n,s]=u.useState(!1),[r]=yt.useSearchParams(),c=!!r.get("skipSetup"),d=a.useNavigate();return u.useEffect(()=>{!n&&(t!=null&&t.setupRequired)&&(s(!0),c||d(e))},[t==null?void 0:t.setupRequired,n,d,e,c]),null}),wn=y.div`
390
+ `,ko=l.kosComponent(({holder:e,onComplete:t})=>{const n=e.name,[r,s]=u.useState(!1),{t:c}=l.useKosTranslation("rfid-override"),{componentModeOverride:d}=a.useComponentConfigurationContext(),[i,p]=u.useState(),[m,x]=u.useState(),[g,h]=u.useState(),[b,v]=u.useState(),[f,j]=u.useState(),T=S=>{if(S!==void 0&&S.length!==12)return c("errIdLen");if(!jt(S))return c("errIdFormat")},P=S=>{if(S!==void 0&&S.length!==8)return c("errCodeLen");if(!jt(S))return c("errCodeFormat")},w=async()=>{try{await e.overrideRfidCode({stickerId:i,stickerCode:m}),s(!0)}catch(S){switch(S.type){case"errIdLen":case"errIdFormat":v(S.type);break;case"errCodeLen":case"errCodeFormat":j(S.type);break;case"errVerify":case"errBadJson":h(S.type);break}}};return o.jsxs(a.Modal,{contain:d!=="compact",mode:"maximized",onClosed:t,show:!r,children:[o.jsx(a.Header,{contain:d==="compact",showCloseButton:!0,title:n?c("label-rfid-override",{label:n}):c("rfid-override"),showOpenButton:!1,onClose:()=>s(!0),CloseButton:d==="compact"?a.BackButton:void 0}),o.jsxs(vr,{children:[o.jsxs(a.Content,{align:"top",children:[o.jsx(a.InfoContainer,{children:c("info")}),o.jsx(a.ErrorInputCard,{isValid:T,description:b?c(b):void 0,label:c("enter-cartridge-id"),layout:"hex",value:i,onChange:S=>{v(void 0),p(S)}}),o.jsx(a.ErrorInputCard,{isValid:P,description:f?c(f):void 0,label:c("enter-code"),layout:"hex",value:m,onChange:S=>{j(void 0),x(S)}})]}),o.jsx(a.Footer,{children:o.jsx(a.Button,{mode:"primary",disabled:!i||!m,onPointerDown:w,children:c("override")})}),g&&o.jsx(a.ProgressBar,{onClose:()=>h(void 0),renderFailure:o.jsx(a.FailureCard,{heading:c("rfid-override"),message:c(g,{holder:e.name})}),show:!0,status:"failure",title:"",value:0})]})]})}),yr=l.kosComponent(({setupPath:e})=>{const{model:t}=ye(),[n,r]=u.useState(!1),[s]=St.useSearchParams(),c=!!s.get("skipSetup"),d=a.useNavigate();return u.useEffect(()=>{!n&&(t!=null&&t.setupRequired)&&(r(!0),c||d(e))},[t==null?void 0:t.setupRequired,n,d,e,c]),null}),Po=y.div`
389
391
  cursor: pointer;
390
392
  display: flex;
391
393
  gap: 8px;
392
394
  align-items: center;
393
- `,jn=y.div`
395
+ `,To=y.div`
394
396
  color: var(--ddk-generic-color-grey-100, #171717);
395
397
  font-size: var(--ddk-component-sidebar-font-size-medium);
396
398
  font-style: normal;
@@ -399,24 +401,24 @@
399
401
  letter-spacing: 0.44px;
400
402
  white-space: nowrap;
401
403
  overflow: hidden;
402
- `,Sn=l.kosComponent(({setupStepContainer:e,onStepSelected:t,...n})=>{const{t:s,labelMap:r}=en({defaultNamespace:"setup",extensionPoint:L.EXTENSION_POINT_SETUP}),c=e==null?void 0:e.currentStep,d=(e==null?void 0:e.data.map(i=>o.jsxs(wn,{onPointerDown:()=>{e.setCurrentStep(i.id),t(i.id)},children:[o.jsx(a.StatusIndicator,{size:"large",status:c===i?"active":i.complete?"completed":"pending"}),o.jsx(jn,{children:s(r[i.name]??i.titleKey)})]},i.id)))||[];return o.jsx(a.Sidebar,{...n,children:d})}),xr=cn(Sn),hr=l.kosComponent(()=>{const{model:e}=l.useSoftwareInfo();return(e==null?void 0:e.nodes)&&e.nodes.map((t,n)=>o.jsxs(a.FrameContainer,{name:t.nodeName,children:[o.jsx("div",{children:o.jsx(a.FrameBody,{keyList:[],tableHead:`KOS Release Version: ${t.kosVersion}`,tableData:[]})},"kosVersion"),Object.keys(t.group).map((s,r)=>o.jsx("div",{children:o.jsx(a.FrameBody,{keyList:["name","version"],tableHead:s==="undefined"?"":s,tableData:t.group[s]})},r))]},n))});y.div`
404
+ `,Io=l.kosComponent(({setupStepContainer:e,onStepSelected:t,...n})=>{const{t:r,labelMap:s}=no({defaultNamespace:"setup",extensionPoint:B.EXTENSION_POINT_SETUP}),c=e==null?void 0:e.currentStep,d=(e==null?void 0:e.data.map(i=>o.jsxs(Po,{onPointerDown:()=>{e.setCurrentStep(i.id),t(i.id)},children:[o.jsx(a.StatusIndicator,{size:"large",status:c===i?"active":i.complete?"completed":"pending"}),o.jsx(To,{children:r(s[i.name]??i.titleKey)})]},i.id)))||[];return o.jsx(a.Sidebar,{...n,children:d})}),wr=uo(Io),jr=l.kosComponent(()=>{const{model:e}=l.useSoftwareInfo();return(e==null?void 0:e.nodes)&&e.nodes.map((t,n)=>o.jsxs(a.FrameContainer,{name:t.nodeName,children:[o.jsx("div",{children:o.jsx(a.FrameBody,{keyList:[],tableHead:`KOS Release Version: ${t.kosVersion}`,tableData:[]})},"kosVersion"),Object.keys(t.group).map((r,s)=>o.jsx("div",{children:o.jsx(a.FrameBody,{keyList:["name","version"],tableHead:r==="undefined"?"":r,tableData:t.group[r]})},s))]},n))});y.div`
403
405
  display: flex;
404
406
  justify-content: space-between;
405
407
  align-items: center;
406
408
  padding: 8px;
407
409
  width: 100%;
408
- `;const De=y(a.LabelInformation)`
410
+ `;const Fe=y(a.LabelInformation)`
409
411
  white-space: pre-wrap;
410
- `,kn=l.kosComponent(({pump:e,onComplete:t})=>{const{t:n}=l.useKosTranslation("common",{keyPrefix:"spm-field-calibration"}),[s,r]=u.useState("preparation-idle"),[c,d]=u.useState(),[i,p]=u.useState(),[m,x]=u.useState(),{clearFuture:g,future:h}=K(e);u.useEffect(()=>{switch(h==null?void 0:h.endState){case"CANCEL":switch(s){case"preparation-in-progress":r("preparation-idle");break;default:d("calibration-canceled"),r("failure")}break;case"SUCCESS":switch(s){case"preparation-in-progress":r("preparation-success");break;case"calibration-in-progress":r("calibration-input");break;case"verification-in-progress":r("verification-input");break}break;case"FAIL":case"ABORT":d(""),r("failure");break}},[h==null?void 0:h.endState,h==null?void 0:h.reason,s]);const f=u.useMemo(()=>({"preparation-idle":{information:o.jsx(De,{children:n("preparation-idle-info")}),footer:o.jsx(a.Button,{onPointerDown:()=>{g(),e.performPreCalibrate(),r("preparation-in-progress")},children:n("preparation-action")}),status:"information"},"preparation-in-progress":{information:o.jsx(a.LabelInformation,{children:n("preparation-progress-info")}),footer:o.jsx(a.Button,{disabled:!0,children:n("preparation-action")}),status:"loading"},"preparation-success":{information:o.jsx(a.LabelInformation,{children:n("preparation-success-info")}),footer:o.jsx(a.Button,{onPointerDown:()=>r("calibration-idle"),children:n("preparation-success-action")}),status:"success"},"preparation-failed":{},"calibration-idle":{information:o.jsx(De,{children:n("calibration-idle-info")}),footer:o.jsx(a.Button,{onPointerDown:()=>{g(),e.performCalibrate(),r("calibration-in-progress")},children:n("calibrate")}),status:"information"},"calibration-in-progress":{information:o.jsx(a.LabelInformation,{children:n("calibration-progress-info")}),status:"loading"},"calibration-input":{information:o.jsxs(o.Fragment,{children:[o.jsx(a.LabelInformation,{children:n("calibration-input-info")}),o.jsx(a.InputCard,{label:"Volume",unitValue:"ml",layout:"num",onChange:b=>{b!==void 0&&p(b)},value:i!==void 0?i:""})]}),footer:o.jsx(a.Button,{disabled:i===void 0,onPointerDown:()=>{i!==void 0&&r("verification-idle")},children:n("proceed")}),status:"information"},"calibration-input-confirmation":{},"verification-idle":{information:o.jsx(De,{children:n("verification-idle-info")}),footer:o.jsx(a.Button,{onPointerDown:async()=>{i!==void 0&&(g(),e.performVerify(i,h==null?void 0:h.clientData),r("verification-in-progress"))},children:n("initiate-verification-pour")}),status:"information"},"verification-in-progress":{information:o.jsx(a.LabelInformation,{children:n("verification-progress-info")}),status:"loading"},"verification-trouble":{},"verification-input":{information:o.jsxs(o.Fragment,{children:[o.jsx(a.LabelInformation,{children:n("verification-input-info")}),o.jsx(a.InputCard,{label:"Volume",unitValue:"ml",layout:"num",onChange:b=>{b!==void 0&&x(b)},value:m!==void 0?m:""})]}),footer:o.jsx(a.Button,{disabled:m===void 0,onPointerDown:async()=>{if(i===void 0||m===void 0)return;g();const[b,j]=await e.performComplete(i,m,h==null?void 0:h.clientData);b?(d(b),r("failure")):r("verification-success")},children:n("proceed")}),status:"information"},"verification-input-confirmation":{},"verification-success":{information:o.jsx(a.LabelInformation,{children:n("verification-success-info")}),footer:o.jsx(a.Button,{onPointerDown:t,children:n("exit-calibration")}),status:"success"},"verification-failure":{information:o.jsx(a.LabelInformation,{children:n("verification-failed-info",{data:{ingredient:e.name}})}),footer:o.jsx(a.Button,{onPointerDown:t,children:n("exit-calibration")}),status:"error"},failure:{information:o.jsxs(o.Fragment,{children:[o.jsx(a.LabelInformation,{children:n("calibration-failed")}),o.jsx(a.BodyMediumInformation,{children:n(`error.${c||"unknownError"}`)})]}),footer:o.jsx(a.Button,{onPointerDown:t,children:n("exit-calibration")}),status:"error"}}),[g,c,h==null?void 0:h.clientData,t,e,n,i,m]);let C;switch(s){case"preparation-in-progress":C="preparation-progress-title";break;case"calibration-in-progress":C="calibration-progress-title";break;case"verification-in-progress":C="verification-progress-title";break;default:C="initiating"}return o.jsxs(o.Fragment,{children:[o.jsx(a.WorkflowModal,{title:n("title",{data:{ingredient:e.name}}),...f[s],onClose:()=>t()}),h&&o.jsx(D,{title:n(C),future:h})]})}),fr=l.KosLog.createLogger({name:"state-experience"});fr.debug("state-experience component loaded");const br=y.div``,Cr=l.kosComponent(()=>{const{getExtensions:e}=ie(),{model:t}=We(),[n,s]=u.useState(null);return u.useEffect(()=>l.kosAutoEffect(()=>{const d=e(L.EXTENSION_POINT_TROUBLE_ACTION).reduce((g,h)=>{const f=h;return g[f.data.stateKey??f.data.troubleType]={extension:L.EXTENSION_POINT_TROUBLE_ACTION,module:f.id,namespace:f.data.namespace,title:f.data.title,stateValue:f.data.stateValue??f.data.troubleType},g},{}),i=t==null?void 0:t.activeTroubleType,p=t==null?void 0:t.activeTrouble,m=i?d[i]:void 0,x=m?o.jsx(N.DynamicComponent,{...m,props:{trouble:p}}):null;s(x)}),[e,t]),o.jsx(br,{children:n})}),vr=[0,6],Pn=()=>{const{regionModel:e}=l.useKosRegions(),{model:t}=l.useKosTime(),[n,s]=u.useState(new Date),r=n.getFullYear(),c=l.useDateProps({formatOptions:{dayFormat:"short",yearFormat:"long",monthFormat:"long",formatString:(e==null?void 0:e.selectedDateFormat)||"yyyy/MM/dd"},filterOptions:{daysOfWeekFilter:vr,yearsRange:[r-10,r+10]}}),d=u.useCallback((m,x)=>{switch(m){case"year":c.dateActions.setYear(x.id);break;case"month":c.dateActions.setMonth(x.id);break;case"day":c.dateActions.setDay(x.id);break}},[c.dateActions]),i=u.useCallback(()=>{c.dateActions.setYear(n.getFullYear()),c.dateActions.setMonth(n.getMonth()),c.dateActions.setDay(n.getDate())},[n,c.dateActions]),p=u.useCallback(async({day:m,month:x,year:g})=>{c.dateActions.setYear(g),c.dateActions.setMonth(x),c.dateActions.setDay(m),await(t==null?void 0:t.updateSystemDate({day:m,month:x,year:g})),s(new Date)},[c.dateActions,t]);return o.jsx(Gt,{onDiscard:i,onChange:d,onSave:p})},Tn=l.kosComponent(({...e})=>{var i;const{regionModel:t}=l.useKosRegions(),{model:n}=l.useKosTime(),{t:s}=l.useKosTranslation("common"),r=t==null?void 0:t.allTimeZones.map(p=>({id:p,label:p.replace(/_/g," ")})),c=(i=t==null?void 0:t.timeZones)==null?void 0:i.map(p=>({id:p,label:p.replace(/_/g," ")})),d=[{id:"region",label:s("suggested"),items:c||[]},{id:"all",label:s("all"),items:r||[]}];return o.jsx(a.SwitchPickerCard,{...e,label:s("time-zone"),data:d,displayValue:(n==null?void 0:n.timezone).replace("_"," "),loop:!1,selectedItemId:n==null?void 0:n.timezone,onSave:n==null?void 0:n.updateSystemTimezone,closeButtonLabel:s("close","Close")||void 0,cancelButtonLabel:s("discard-changes","Discard Changes")||void 0,proceedButtonLabel:s("save","Save")||void 0})}),yr=l.kosComponent(({showHeading:e})=>{var f,C,b,j,P,T,k,w;const{t}=l.useKosTranslation("region"),{regionModel:n}=l.useKosRegions(),{model:s}=l.useKosTime(),{amPmOptions:r,formattedTime:c,hourOptions:d,minuteOptions:i,setTime:p,time:m}=l.useRegionTimeProps(),x=m.getHours(),g=u.useMemo(()=>[{id:"hr",items:d,selectedItemId:x<12?x:x-12,loop:!0},{id:"min",items:i,selectedItemId:m.getMinutes(),loop:!0},{id:"ampm",items:r,selectedItemId:x<12?"AM":"PM"}],[r,d,i,m,x]),h=u.useMemo(()=>[{id:"hr",items:d,selectedItemId:x,loop:!0},{id:"min",items:i,selectedItemId:m.getMinutes(),loop:!0}],[d,i,m,x]);return u.useEffect(()=>{const v=setInterval(()=>{p(new Date)},3e4);return()=>{clearInterval(v)}},[p]),o.jsxs(a.TabContainer,{children:[e&&o.jsx(a.SettingsSubheading,{children:t("time-settings","Time Settings")}),((f=n==null?void 0:n.dateFormatOptions)==null?void 0:f.length)&&o.jsx(a.SwitchCard,{label:t("date-format","Date Format"),value:(b=(C=n==null?void 0:n.dateFormatOptions)==null?void 0:C.find(v=>v.format===n.selectedDateFormat))==null?void 0:b.id,options:(j=n==null?void 0:n.dateFormatOptions)==null?void 0:j.map(v=>({label:v.format.toUpperCase(),...v})),onChange:v=>v&&(n==null?void 0:n.setSelectedDateFormat(String(v)))}),o.jsx(Pn,{}),o.jsx(Tn,{}),((P=n==null?void 0:n.timeFormatOptions)==null?void 0:P.length)&&o.jsx(a.SwitchCard,{label:t("time-format","Time Format"),value:(k=(T=n==null?void 0:n.timeFormatOptions)==null?void 0:T.find(v=>v.format===n.selectedTimeFormat))==null?void 0:k.id,options:(w=n==null?void 0:n.timeFormatOptions)==null?void 0:w.map(v=>({label:v!=null&&v.ampm?"12 HR":"24 HR",...v})).reverse(),onChange:v=>v&&(n==null?void 0:n.setSelectedTimeFormat(String(v)))}),o.jsx(a.MultiPickerCard,{data:n!=null&&n.is12HourTimeFormat?g:h,icon:_.TimeIcon,displayValue:c,label:t("current-time","Current Time"),closeButtonLabel:t("close","Close")||void 0,cancelButtonLabel:t("discard-changes","Discard Changes")||void 0,proceedButtonLabel:t("save","Save")||void 0,onSave:v=>{const A=n!=null&&n.is12HourTimeFormat?v.ampm==="AM"?v.hr:v.hr+12:v.hr,F=v.min,B=new Date(m);B.setHours(A),B.setMinutes(F),p(B),s==null||s.updateSystemTime({hour:A,min:F,sec:0})}})]})}),wr=_e(l.kosComponent(({settings:e,showHeading:t})=>{const{t:n}=l.useKosTranslation("dispenser-profile");return o.jsxs(a.TabContainer,{children:[t&&o.jsx(a.SettingsSubheading,{children:n("water-settings","Water Settings")}),o.jsx(te,{label:n("plain-water","Plain Water"),configProperty:e.hidePlainWaterBev}),o.jsx(te,{label:n("carbonated-water","Carbonated Water"),configProperty:e.hideCarbWaterBev})]})})),jr=y.div`
412
+ `,Ao=l.kosComponent(({pump:e,onComplete:t})=>{const{t:n}=l.useKosTranslation("common",{keyPrefix:"spm-field-calibration"}),[r,s]=u.useState("preparation-idle"),[c,d]=u.useState(),[i,p]=u.useState(),[m,x]=u.useState(),{clearFuture:g,future:h}=N(e);u.useEffect(()=>{switch(h==null?void 0:h.endState){case"CANCEL":switch(r){case"preparation-in-progress":s("preparation-idle");break;default:d("calibration-canceled"),s("failure")}break;case"SUCCESS":switch(r){case"preparation-in-progress":s("preparation-success");break;case"calibration-in-progress":s("calibration-input");break;case"verification-in-progress":s("verification-input");break}break;case"FAIL":case"ABORT":d(""),s("failure");break}},[h==null?void 0:h.endState,h==null?void 0:h.reason,r]);const b=u.useMemo(()=>({"preparation-idle":{information:o.jsx(Fe,{children:n("preparation-idle-info")}),footer:o.jsx(a.Button,{onPointerDown:()=>{g(),e.performPreCalibrate(),s("preparation-in-progress")},children:n("preparation-action")}),status:"information"},"preparation-in-progress":{information:o.jsx(a.LabelInformation,{children:n("preparation-progress-info")}),footer:o.jsx(a.Button,{disabled:!0,children:n("preparation-action")}),status:"loading"},"preparation-success":{information:o.jsx(a.LabelInformation,{children:n("preparation-success-info")}),footer:o.jsx(a.Button,{onPointerDown:()=>s("calibration-idle"),children:n("preparation-success-action")}),status:"success"},"preparation-failed":{},"calibration-idle":{information:o.jsx(Fe,{children:n("calibration-idle-info")}),footer:o.jsx(a.Button,{onPointerDown:()=>{g(),e.performCalibrate(),s("calibration-in-progress")},children:n("calibrate")}),status:"information"},"calibration-in-progress":{information:o.jsx(a.LabelInformation,{children:n("calibration-progress-info")}),status:"loading"},"calibration-input":{information:o.jsxs(o.Fragment,{children:[o.jsx(a.LabelInformation,{children:n("calibration-input-info")}),o.jsx(a.InputCard,{label:"Volume",unitValue:"ml",layout:"num",onChange:f=>{f!==void 0&&p(f)},value:i!==void 0?i:""})]}),footer:o.jsx(a.Button,{disabled:i===void 0,onPointerDown:()=>{i!==void 0&&s("verification-idle")},children:n("proceed")}),status:"information"},"calibration-input-confirmation":{},"verification-idle":{information:o.jsx(Fe,{children:n("verification-idle-info")}),footer:o.jsx(a.Button,{onPointerDown:async()=>{i!==void 0&&(g(),e.performVerify(i,h==null?void 0:h.clientData),s("verification-in-progress"))},children:n("initiate-verification-pour")}),status:"information"},"verification-in-progress":{information:o.jsx(a.LabelInformation,{children:n("verification-progress-info")}),status:"loading"},"verification-trouble":{},"verification-input":{information:o.jsxs(o.Fragment,{children:[o.jsx(a.LabelInformation,{children:n("verification-input-info")}),o.jsx(a.InputCard,{label:"Volume",unitValue:"ml",layout:"num",onChange:f=>{f!==void 0&&x(f)},value:m!==void 0?m:""})]}),footer:o.jsx(a.Button,{disabled:m===void 0,onPointerDown:async()=>{if(i===void 0||m===void 0)return;g();const[f,j]=await e.performComplete(i,m,h==null?void 0:h.clientData);f?(d(f),s("failure")):s("verification-success")},children:n("proceed")}),status:"information"},"verification-input-confirmation":{},"verification-success":{information:o.jsx(a.LabelInformation,{children:n("verification-success-info")}),footer:o.jsx(a.Button,{onPointerDown:t,children:n("exit-calibration")}),status:"success"},"verification-failure":{information:o.jsx(a.LabelInformation,{children:n("verification-failed-info",{data:{ingredient:e.name}})}),footer:o.jsx(a.Button,{onPointerDown:t,children:n("exit-calibration")}),status:"error"},failure:{information:o.jsxs(o.Fragment,{children:[o.jsx(a.LabelInformation,{children:n("calibration-failed")}),o.jsx(a.BodyMediumInformation,{children:n(`error.${c||"unknownError"}`)})]}),footer:o.jsx(a.Button,{onPointerDown:t,children:n("exit-calibration")}),status:"error"}}),[g,c,h==null?void 0:h.clientData,t,e,n,i,m]);let v;switch(r){case"preparation-in-progress":v="preparation-progress-title";break;case"calibration-in-progress":v="calibration-progress-title";break;case"verification-in-progress":v="verification-progress-title";break;default:v="initiating"}return o.jsxs(o.Fragment,{children:[o.jsx(a.WorkflowModal,{title:n("title",{data:{ingredient:e.name}}),...b[r],onClose:()=>t()}),h&&o.jsx(F,{title:n(v),future:h})]})}),Sr=l.KosLog.createLogger({name:"state-experience"});Sr.debug("state-experience component loaded");const kr=y.div``,Pr=l.kosComponent(()=>{const{getExtensions:e}=re(),{model:t}=qe(),[n,r]=u.useState(null);return u.useEffect(()=>l.kosAutoEffect(()=>{const d=e(B.EXTENSION_POINT_TROUBLE_ACTION).reduce((g,h)=>{const b=h;return g[b.data.stateKey??b.data.troubleType]={extension:B.EXTENSION_POINT_TROUBLE_ACTION,module:b.id,namespace:b.data.namespace,title:b.data.title,stateValue:b.data.stateValue??b.data.troubleType},g},{}),i=t==null?void 0:t.activeTroubleType,p=t==null?void 0:t.activeTrouble,m=i?d[i]:void 0,x=m?o.jsx(O.DynamicComponent,{...m,props:{trouble:p}}):null;r(x)}),[e,t]),o.jsx(kr,{children:n})}),Tr=[0,6],Do=()=>{const{regionModel:e}=l.useKosRegions(),{model:t}=l.useKosTime(),[n,r]=u.useState(new Date),s=n.getFullYear(),c=l.useDateProps({formatOptions:{dayFormat:"short",yearFormat:"long",monthFormat:"long",formatString:(e==null?void 0:e.selectedDateFormat)||"yyyy/MM/dd"},filterOptions:{daysOfWeekFilter:Tr,yearsRange:[s-10,s+10]}}),d=u.useCallback((m,x)=>{switch(m){case"year":c.dateActions.setYear(x.id);break;case"month":c.dateActions.setMonth(x.id);break;case"day":c.dateActions.setDay(x.id);break}},[c.dateActions]),i=u.useCallback(()=>{c.dateActions.setYear(n.getFullYear()),c.dateActions.setMonth(n.getMonth()),c.dateActions.setDay(n.getDate())},[n,c.dateActions]),p=u.useCallback(async({day:m,month:x,year:g})=>{c.dateActions.setYear(g),c.dateActions.setMonth(x),c.dateActions.setDay(m),await(t==null?void 0:t.updateSystemDate({day:m,month:x,year:g})),r(new Date)},[c.dateActions,t]);return o.jsx(Yt,{onDiscard:i,onChange:d,onSave:p})},Fo=l.kosComponent(({...e})=>{var i;const{regionModel:t}=l.useKosRegions(),{model:n}=l.useKosTime(),{t:r}=l.useKosTranslation("common"),s=t==null?void 0:t.allTimeZones.map(p=>({id:p,label:p.replace(/_/g," ")})),c=(i=t==null?void 0:t.timeZones)==null?void 0:i.map(p=>({id:p,label:p.replace(/_/g," ")})),d=[{id:"region",label:r("suggested"),items:c||[]},{id:"all",label:r("all"),items:s||[]}];return o.jsx(a.SwitchPickerCard,{...e,label:r("time-zone"),data:d,displayValue:(n==null?void 0:n.timezone).replace("_"," "),loop:!1,selectedItemId:n==null?void 0:n.timezone,onSave:n==null?void 0:n.updateSystemTimezone,closeButtonLabel:r("close","Close")||void 0,cancelButtonLabel:r("discard-changes","Discard Changes")||void 0,proceedButtonLabel:r("save","Save")||void 0})}),Ir=l.kosComponent(({showHeading:e})=>{var b,v,f,j,T,P,w,S;const{t}=l.useKosTranslation("region"),{regionModel:n}=l.useKosRegions(),{model:r}=l.useKosTime(),{amPmOptions:s,formattedTime:c,hourOptions:d,minuteOptions:i,setTime:p,time:m}=l.useRegionTimeProps(),x=m.getHours(),g=u.useMemo(()=>[{id:"hr",items:d,selectedItemId:x<12?x:x-12,loop:!0},{id:"min",items:i,selectedItemId:m.getMinutes(),loop:!0},{id:"ampm",items:s,selectedItemId:x<12?"AM":"PM"}],[s,d,i,m,x]),h=u.useMemo(()=>[{id:"hr",items:d,selectedItemId:x,loop:!0},{id:"min",items:i,selectedItemId:m.getMinutes(),loop:!0}],[d,i,m,x]);return u.useEffect(()=>{const C=setInterval(()=>{p(new Date)},3e4);return()=>{clearInterval(C)}},[p]),o.jsxs(a.TabContainer,{children:[e&&o.jsx(a.SettingsSubheading,{children:t("time-settings","Time Settings")}),((b=n==null?void 0:n.dateFormatOptions)==null?void 0:b.length)&&o.jsx(a.SwitchCard,{label:t("date-format","Date Format"),value:(f=(v=n==null?void 0:n.dateFormatOptions)==null?void 0:v.find(C=>C.format===n.selectedDateFormat))==null?void 0:f.id,options:(j=n==null?void 0:n.dateFormatOptions)==null?void 0:j.map(C=>({label:C.format.toUpperCase(),...C})),onChange:C=>C&&(n==null?void 0:n.setSelectedDateFormat(String(C)))}),o.jsx(Do,{}),o.jsx(Fo,{}),((T=n==null?void 0:n.timeFormatOptions)==null?void 0:T.length)&&o.jsx(a.SwitchCard,{label:t("time-format","Time Format"),value:(w=(P=n==null?void 0:n.timeFormatOptions)==null?void 0:P.find(C=>C.format===n.selectedTimeFormat))==null?void 0:w.id,options:(S=n==null?void 0:n.timeFormatOptions)==null?void 0:S.map(C=>({label:C!=null&&C.ampm?"12 HR":"24 HR",...C})).reverse(),onChange:C=>C&&(n==null?void 0:n.setSelectedTimeFormat(String(C)))}),o.jsx(a.MultiPickerCard,{data:n!=null&&n.is12HourTimeFormat?g:h,icon:U.TimeIcon,displayValue:c,label:t("current-time","Current Time"),closeButtonLabel:t("close","Close")||void 0,cancelButtonLabel:t("discard-changes","Discard Changes")||void 0,proceedButtonLabel:t("save","Save")||void 0,onSave:C=>{const D=n!=null&&n.is12HourTimeFormat?C.ampm==="AM"?C.hr:C.hr+12:C.hr,E=C.min,A=new Date(m);A.setHours(D),A.setMinutes(E),p(A),r==null||r.updateSystemTime({hour:D,min:E,sec:0})}})]})}),Ar=ze(l.kosComponent(({settings:e,showHeading:t})=>{const{t:n}=l.useKosTranslation("dispenser-profile");return o.jsxs(a.TabContainer,{children:[t&&o.jsx(a.SettingsSubheading,{children:n("water-settings","Water Settings")}),o.jsx(te,{label:n("plain-water","Plain Water"),configProperty:e.hidePlainWaterBev}),o.jsx(te,{label:n("carbonated-water","Carbonated Water"),configProperty:e.hideCarbWaterBev})]})})),Dr=y.div`
411
413
  display: flex;
412
414
  flex-direction: column;
413
415
  gap: 12px;
414
- `,Sr=y.div`
416
+ `,Fr=y.div`
415
417
  display: flex;
416
418
  flex-direction: row;
417
419
  gap: 12px;
418
420
  align-items: center;
419
421
  justify-content: center;
420
- `,kr=y(a.Button)`
422
+ `,Er=y(a.Button)`
421
423
  display: block;
422
- `;exports.ActionButton=kr;exports.ActionContainer=jr;exports.ActionRow=Sr;exports.AgitationControlView=Hn;exports.AgitatorDetail=_n;exports.AgitatorModal=Bt;exports.AgitatorSummary=zn;exports.AnimationContext=Ye;exports.AnimationProvider=Ho;exports.ApplicationComponentConfigurationProvider=Uo;exports.ApplicationContext=Ze;exports.ApplicationProvider=zo;exports.CalibrateAction=wt;exports.CalibrateModal=Nt;exports.ConfigPropInfoCard=Vt;exports.ConfigPropInputCard=be;exports.ConfigPropInputRangeCard=H;exports.ConfigPropMultiInputEnableCard=_t;exports.ConfigPropPickerCard=Ce;exports.ConfigPropSingleInputEnableCard=oo;exports.ConfigPropSwitchCard=Ut;exports.ConfigPropTimePickerCard=Wt;exports.ConfigPropToggleCard=te;exports.DashboardOperationsContext=Qe;exports.DashboardOperationsProvider=Wo;exports.DatePickerCard=Gt;exports.DiagnosticsModal=qt;exports.DispenserInfoContext=Je;exports.DispenserInfoProvider=qo;exports.DispenserInfoSettings=Mo;exports.DispenserSerialNumber=un;exports.DispenserSettings=Ko;exports.EXTENSION_PLUGIN_VISIBILITY=M;exports.EnjoyByDate=Xe;exports.FailureMessage=ee;exports.Fixed45FlowTestAction=jt;exports.FlushAction=St;exports.FutureProgressBar=D;exports.GenericTroubleAction=Et;exports.HardwareInfo=Vo;exports.HighFlowTestAction=kt;exports.HoldToPourAction=Pt;exports.HoldToPourButton=U;exports.HolderActions=Se;exports.HolderCard=gn;exports.HolderContentContext=Re;exports.HolderContentProvider=bo;exports.HolderGroup=dt;exports.HolderGroupView=ws;exports.HolderNotifications=$;exports.IceAgitatorDetail=Os;exports.IceAgitatorSettings=hn;exports.IceAgitatorSettingsContainer=Ns;exports.IceAgitatorSettingsView=$s;exports.IceAgitatorSummary=_s;exports.IngredientSummaryContext=et;exports.IngredientSummaryProvider=Yo;exports.IntentAction=E;exports.KosPluginExtensionManager=ko;exports.LFCVPumpCard=Zs;exports.LocalizationSettings=Us;exports.LowFlowTestAction=Tt;exports.MSVPumpCard=Qs;exports.MSVResetAction=Dt;exports.MacroAssignmentContext=tt;exports.MacroAssignmentProvider=Qo;exports.MacroHolderCard=xn;exports.MacroHolderGroupView=Ds;exports.MacroSetupStepCard=ut;exports.ManualOverrideAction=It;exports.NetworkTestContainerContext=ot;exports.NetworkTestContainerProvider=ns;exports.NetworkTestContext=nt;exports.NetworkTestProvider=es;exports.NetworkTestResults=qs;exports.NotificationCardView=fn;exports.PluginExtensionManager=rn;exports.PluginTabs=Ys;exports.PrimeAction=At;exports.PurgeAction=Ft;exports.RFIDOverride=yn;exports.RebootContext=st;exports.RebootProvider=ss;exports.RebootView=ir;exports.RemoteNNSModal=ar;exports.RemoteTrayDetail=cr;exports.RemoteTraySummary=dr;exports.ReplaceLine=Cn;exports.ReplacePump=vn;exports.SPMFieldCalibrationModal=kn;exports.SettingsContext=rt;exports.SettingsProvider=is;exports.SetupRequired=gr;exports.SetupSidebar=xr;exports.SetupSidebarComp=Sn;exports.SetupStepContainerContext=at;exports.SetupStepContainerProvider=ds;exports.SetupStepContext=it;exports.SetupStepProvider=cs;exports.Software=hr;exports.StagedChangesProvider=Ot;exports.StateExperience=Cr;exports.StepItem=wn;exports.StepTitle=jn;exports.SuccessMessage=fe;exports.SuperPumpCard=bn;exports.SystemDatePickerCard=Pn;exports.TROUBLE_PRIME=Bn;exports.TROUBLE_PURGE=Mn;exports.TimePickerCard=zt;exports.TimeSettings=yr;exports.TimeZonePickerCard=Tn;exports.TroubleAction=Lt;exports.UtilitiesContainerContext=lt;exports.UtilitiesContainerProvider=gs;exports.UtilitiesContext=ct;exports.UtilitiesProvider=ps;exports.ValveCard=tr;exports.WaterPumpCard=nr;exports.WaterSettings=wr;exports.pumpTypeFactory=So;exports.troubleLabelByType=an;exports.troubleLabelFactory=re;exports.useAgitationControl=Le;exports.useAnimation=Be;exports.useAnimationContext=_o;exports.useApplication=oe;exports.useApplicationContext=je;exports.useCarbWater=Yt;exports.useCombinedActions=ro;exports.useCopyLogs=Zt;exports.useDashboardOperations=Me;exports.useDashboardOperationsContext=Go;exports.useDispenserInfo=Ke;exports.useDispenserInfoContext=Xo;exports.useDoor=Jt;exports.useFutureContainer=K;exports.useHolderContent=Ne;exports.useHolderExperience=se;exports.useIngredientSummary=$e;exports.useIngredientSummaryContext=Zo;exports.useMacroAssignment=Oe;exports.useMacroAssignmentContext=Jo;exports.useNetworkTest=Ve;exports.useNetworkTestContainer=He;exports.useNetworkTestContainerContext=os;exports.useNetworkTestContext=ts;exports.useNutritiveSweetener=on;exports.usePlainWater=sn;exports.usePluginExtensions=ie;exports.usePumpAction=ne;exports.useReboot=ve;exports.useRebootContext=rs;exports.useSettings=ye;exports.useSettingsContext=as;exports.useSetupStep=Ue;exports.useSetupStepContainer=ze;exports.useSetupStepContainerContext=us;exports.useSetupStepContext=ls;exports.useStagedChanges=Ee;exports.useStart=ln;exports.useTroubleAction=uo;exports.useTroubleActionState=We;exports.useTroubleData=we;exports.useTroubleDecoration=dn;exports.useTroubleVisibility=Lo;exports.useUtilities=Ge;exports.useUtilitiesContainer=qe;exports.useUtilitiesContainerContext=xs;exports.useUtilitiesContext=ms;exports.useViewExtensions=en;exports.useVisibleTroubles=z;exports.withAgitationControl=po;exports.withAnimation=Xt;exports.withApplication=mo;exports.withCarbWater=go;exports.withCopyLogs=xo;exports.withDashboardOperations=ho;exports.withDispenserInfo=Qt;exports.withDoor=fo;exports.withIngredientSummary=vo;exports.withMacroAssignment=tn;exports.withNetworkTest=yo;exports.withNetworkTestContainer=nn;exports.withNutritiveSweetener=wo;exports.withPlainWater=jo;exports.withReboot=Po;exports.withSettings=_e;exports.withSetupStep=To;exports.withSetupStepContainer=cn;exports.withStagedChanges=Gn;exports.withStart=Io;exports.withTroubleAction=Do;exports.withUtilities=Eo;exports.withUtilitiesContainer=Bo;
424
+ `;exports.ActionButton=Er;exports.ActionContainer=Dr;exports.ActionRow=Fr;exports.AgitationControlView=Xo;exports.AgitatorDetail=Yo;exports.AgitatorModal=Rt;exports.AgitatorSummary=Qo;exports.AnimationContext=Qe;exports.AnimationProvider=Xn;exports.ApplicationComponentConfigurationProvider=Zn;exports.ApplicationContext=Je;exports.ApplicationProvider=Qn;exports.CalibrateAction=kt;exports.CalibrateModal=Vt;exports.ConfigPropInfoCard=Ut;exports.ConfigPropInputCard=he;exports.ConfigPropInputRangeCard=_;exports.ConfigPropMultiInputEnableCard=Wt;exports.ConfigPropPickerCard=fe;exports.ConfigPropSingleInputEnableCard=un;exports.ConfigPropSwitchCard=Gt;exports.ConfigPropTimePickerCard=Xt;exports.ConfigPropToggleCard=te;exports.DashboardOperationsContext=et;exports.DashboardOperationsProvider=Jn;exports.DatePickerCard=Yt;exports.DiagnosticsModal=Zt;exports.DispenserInfoContext=tt;exports.DispenserInfoProvider=ts;exports.DispenserInfoSettings=Hn;exports.DispenserSerialNumber=xo;exports.DispenserSettings=_n;exports.EXTENSION_PLUGIN_VISIBILITY=R;exports.EnjoyByDate=Ze;exports.FailureMessage=ee;exports.Fixed45FlowTestAction=Pt;exports.FlushAction=Tt;exports.FutureProgressBar=F;exports.GenericTroubleAction=Kt;exports.HardwareInfo=qn;exports.HighFlowTestAction=It;exports.HoldToPourAction=At;exports.HoldToPourButton=W;exports.HolderActions=we;exports.HolderCard=bo;exports.HolderContentContext=$e;exports.HolderContentProvider=kn;exports.HolderGroup=pt;exports.HolderGroupView=As;exports.HolderNotifications=V;exports.IceAgitatorDetail=Gs;exports.IceAgitatorSettings=vo;exports.IceAgitatorSettingsContainer=zs;exports.IceAgitatorSettingsView=Ws;exports.IceAgitatorSummary=Ys;exports.IngredientSummaryContext=ot;exports.IngredientSummaryProvider=ns;exports.IntentAction=M;exports.KosPluginExtensionManager=En;exports.LFCVPumpCard=sr;exports.LocalizationSettings=Zs;exports.LowFlowTestAction=Dt;exports.MSVPumpCard=rr;exports.MSVResetAction=Et;exports.MacroAssignmentContext=nt;exports.MacroAssignmentProvider=rs;exports.MacroHolderCard=Co;exports.MacroHolderGroupView=Ks;exports.MacroSetupStepCard=mt;exports.ManualOverrideAction=Ft;exports.NetworkTestContainerContext=rt;exports.NetworkTestContainerProvider=ls;exports.NetworkTestContext=st;exports.NetworkTestProvider=as;exports.NetworkTestResults=tr;exports.NotificationCardView=yo;exports.PluginExtensionManager=co;exports.PluginTabs=nr;exports.PrimeAction=Lt;exports.PurgeAction=Bt;exports.RFIDOverride=ko;exports.RebootContext=it;exports.RebootProvider=us;exports.RebootView=mr;exports.RemoteNNSModal=gr;exports.RemoteTrayDetail=xr;exports.RemoteTraySummary=fr;exports.ReplaceLine=jo;exports.ReplacePump=So;exports.SPMFieldCalibrationModal=Ao;exports.SettingsContext=at;exports.SettingsProvider=ms;exports.SetupRequired=yr;exports.SetupSidebar=wr;exports.SetupSidebarComp=Io;exports.SetupStepContainerContext=lt;exports.SetupStepContainerProvider=fs;exports.SetupStepContext=ct;exports.SetupStepProvider=xs;exports.Software=jr;exports.StagedChangesProvider=_t;exports.StateExperience=Pr;exports.StepItem=Po;exports.StepTitle=To;exports.SuccessMessage=xe;exports.SuperPumpCard=wo;exports.SystemDatePickerCard=Do;exports.TROUBLE_PRIME=Vo;exports.TROUBLE_PURGE=Ho;exports.TimePickerCard=qt;exports.TimeSettings=Ir;exports.TimeZonePickerCard=Fo;exports.TroubleAction=Mt;exports.UtilitiesContainerContext=ut;exports.UtilitiesContainerProvider=ys;exports.UtilitiesContext=dt;exports.UtilitiesProvider=Cs;exports.ValveCard=cr;exports.WaterPumpCard=lr;exports.WaterSettings=Ar;exports.pumpTypeFactory=Fn;exports.troubleLabelByType=lo;exports.troubleLabelFactory=se;exports.useAgitationControl=Be;exports.useAnimation=Ke;exports.useAnimationContext=Yn;exports.useApplication=oe;exports.useApplicationContext=ye;exports.useCarbWater=Jt;exports.useCombinedActions=mn;exports.useCopyLogs=eo;exports.useDashboardOperations=Re;exports.useDashboardOperationsContext=es;exports.useDispenserInfo=Ne;exports.useDispenserInfoContext=os;exports.useDoor=oo;exports.useFutureContainer=N;exports.useHolderContent=Oe;exports.useHolderExperience=ne;exports.useIngredientSummary=Ve;exports.useIngredientSummaryContext=ss;exports.useMacroAssignment=He;exports.useMacroAssignmentContext=is;exports.useNetworkTest=_e;exports.useNetworkTestContainer=Ue;exports.useNetworkTestContainerContext=ds;exports.useNetworkTestContext=cs;exports.useNutritiveSweetener=io;exports.usePlainWater=ao;exports.usePluginExtensions=re;exports.usePumpAction=z;exports.usePumpCalibration=po;exports.useReboot=be;exports.useRebootContext=ps;exports.useSettings=Ce;exports.useSettingsContext=gs;exports.useSetupStep=We;exports.useSetupStepContainer=Ge;exports.useSetupStepContainerContext=bs;exports.useSetupStepContext=hs;exports.useStagedChanges=Me;exports.useStart=mo;exports.useTroubleAction=bn;exports.useTroubleActionState=qe;exports.useTroubleData=ve;exports.useTroubleDecoration=go;exports.useTroubleVisibility=$n;exports.useUtilities=Xe;exports.useUtilitiesContainer=Ye;exports.useUtilitiesContainerContext=ws;exports.useUtilitiesContext=vs;exports.useViewExtensions=no;exports.useVisibleTroubles=G;exports.withAgitationControl=Cn;exports.withAnimation=Qt;exports.withApplication=vn;exports.withCarbWater=yn;exports.withCopyLogs=wn;exports.withDashboardOperations=jn;exports.withDispenserInfo=to;exports.withDoor=Sn;exports.withIngredientSummary=Tn;exports.withMacroAssignment=so;exports.withNetworkTest=In;exports.withNetworkTestContainer=ro;exports.withNutritiveSweetener=An;exports.withPlainWater=Dn;exports.withReboot=Ln;exports.withSettings=ze;exports.withSetupStep=Bn;exports.withSetupStepContainer=uo;exports.withStagedChanges=en;exports.withStart=Mn;exports.withTroubleAction=Kn;exports.withUtilities=On;exports.withUtilitiesContainer=Vn;