@kosdev-code/kos-ddk-model-components 2.0.1 → 2.0.3

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