@opalkelly/frontpanel-react-components 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/FrontPanelIndicator/FrontPanelIndicator.tsx +2 -2
- package/src/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.tsx +3 -3
- package/src/components/FrontPanelNumberEntry/FrontPanelNumberEntry.tsx +3 -3
- package/src/components/FrontPanelPushButton/FrontPanelPushButton.tsx +2 -2
- package/src/components/FrontPanelRangeSlider/FrontPanelRangeSlider.tsx +1 -1
- package/src/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.tsx +2 -2
- package/src/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.tsx +1 -1
- package/src/components/FrontPanelTriggerButton/FrontPanelTriggerButton.tsx +2 -2
package/dist/cjs/index.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";var e=require("react"),n=require("@radix-ui/react-tooltip"),r=require("classnames"),t=require("@radix-ui/react-slider"),a=require("@radix-ui/react-select"),i=require("@radix-ui/react-scroll-area"),o=require("@opalkelly/frontpanel-alloy-core");function l(e){var n=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,t.get?t:{enumerable:!0,get:function(){return e[r]}})}})),n.default=e,Object.freeze(n)}var s,c,d=l(e),u=l(n),f=l(t),p=l(a),g=l(i);exports.NumeralSystem=void 0,(s=exports.NumeralSystem||(exports.NumeralSystem={}))[s.Binary=2]="Binary",s[s.Octal=8]="Octal",s[s.Decimal=10]="Decimal",s[s.Hexadecimal=16]="Hexadecimal",exports.ToggleState=void 0,(c=exports.ToggleState||(exports.ToggleState={}))[c.Off=0]="Off",c[c.On=1]="On";class m{get DigitCount(){return this._DigitCount}get NumeralSystem(){return this._NumeralSystem}get DigitChars(){return this._DigitChars}constructor(e,n){this._DigitCount=e,this._NumeralSystem=n,this._DigitChars=m.GetDigitChars(n)}GetDigitFromValue(e){let n=e%this._NumeralSystem;return n<0&&(n+=this._NumeralSystem),n.toString(this._NumeralSystem)}static GetDigitChars(e){let n;switch(e){case exports.NumeralSystem.Binary:n=m.BINARY_DIGITVALUES;break;case exports.NumeralSystem.Octal:n=m.OCTAL_DIGITVALUES;break;case exports.NumeralSystem.Decimal:n=m.DECIMAL_DIGITVALUES;break;case exports.NumeralSystem.Hexadecimal:n=m.HEXADECIMAL_DIGITVALUES;break;default:n=[]}return n}static ComputeDigitCountFromBits(e,n){const r=(1n<<BigInt(e))-1n;return this.ComputeDigitCountFromValue(r,n)}static ComputeDigitCountFromValue(e,n){const r=BigInt(n);let t,a=e;for(t=0n;t<m.MAX_DIGITS&&0n!==a;t++)a/=r;return t>0n?t:1n}}function h(e){let n=0;if(e>0n){let r=e;for(;r>0n;)r>>=1n,n++}else 0n===e&&(n=1);return n}m.MAX_DIGITS=1024,m.BINARY_DIGITVALUES=["0","1"],m.OCTAL_DIGITVALUES=["0","1","2","3","4","5","6","7"],m.DECIMAL_DIGITVALUES=[...m.OCTAL_DIGITVALUES,"8","9"],m.HEXADECIMAL_DIGITVALUES=[...m.DECIMAL_DIGITVALUES,"A","B","C","D","E","F"];const y=e.createContext({}),x=n=>{const{device:r,workQueue:t,eventSource:a}=n;return e.createElement(y.Provider,{value:{device:r,workQueue:t,eventSource:a}},n.children)};function b(e,n){void 0===n&&(n={});var r=n.insertAt;if(e&&"undefined"!=typeof document){var t=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===r&&t.firstChild?t.insertBefore(a,t.firstChild):t.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}x.displayName="FrontPanel";b("");const S=d.forwardRef(((e,n)=>d.createElement(u.Provider,null,e.children)));S.displayName="Application";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n@font-face {\r\n font-family: "Inter";\r\n src: url("./fonts/Inter-VariableFont_slnt\\,wght.ttf") format("truetype");\r\n}\r\n');b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okButton {\r\n /* Layout */\r\n display: inline-flex;\r\n padding: var(--button-padding, 6px 12px);\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n\r\n /* Style */\r\n border-width: 0px;\r\n border-radius: 4px;\r\n background: var(--brand-12, #44bd84);\r\n\r\n /* Typography */\r\n color: var(--Base-White, #fff);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--button-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 600;\r\n line-height: var(--button-line-height, 12px); /* 100% */\r\n\r\n /* State Pressed */\r\n &:is(:active) {\r\n background: #329466;\r\n }\r\n\r\n /* State Disabled */\r\n &:is(:disabled) {\r\n background: var(--Gray-2, #d0d7df);\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --button-padding: 6px 12px;\r\n --button-font-size: 12px;\r\n --button-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2*/\r\n &:where(.ok-r-size-2) {\r\n --button-padding: 10px 18px;\r\n --button-font-size: 14px;\r\n --button-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3*/\r\n &:where(.ok-r-size-3) {\r\n --button-padding: 18px 22px;\r\n --button-font-size: 20px;\r\n --button-line-height: 20px;\r\n }\r\n}\r\n');b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okTooltipContent {\r\n /* Layout */\r\n display: flex;\r\n padding: 10px;\r\n align-items: flex-end;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n background: var(--Dark, #343434);\r\n\r\n /* Drop shadow - tiny */\r\n box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.24);\r\n\r\n user-select: none;\r\n animation-duration: 200ms;\r\n animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);\r\n will-change: transform, opacity;\r\n}\r\n\r\n.okTooltipContent[data-state="delayed-open"][data-side="top"] {\r\n animation-name: slideDownAndFade;\r\n}\r\n.okTooltipContent[data-state="delayed-open"][data-side="right"] {\r\n animation-name: slideLeftAndFade;\r\n}\r\n.okTooltipContent[data-state="delayed-open"][data-side="bottom"] {\r\n animation-name: slideUpAndFade;\r\n}\r\n.okTooltipContent[data-state="delayed-open"][data-side="left"] {\r\n animation-name: slideRightAndFade;\r\n}\r\n\r\n.okTooltipText {\r\n /* Typography */\r\n color: var(--Light, #fff);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 12px; /* 100% */\r\n}\r\n\r\n@keyframes slideUpAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateY(2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n}\r\n\r\n@keyframes slideRightAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateX(-2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateX(0);\r\n }\r\n}\r\n\r\n@keyframes slideDownAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateY(-2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n}\r\n\r\n@keyframes slideLeftAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateX(2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateX(0);\r\n }\r\n}\r\n');const E=e.forwardRef(((n,t)=>{const{children:a,className:i,open:o,defaultOpen:l,onOpenChange:s,delayDuration:c,disableHoverableContent:d,content:f,container:p,forceMount:g,...m}=n,h={open:o,defaultOpen:l,onOpenChange:s,delayDuration:c,disableHoverableContent:d};return e.createElement(u.Root,{...h},e.createElement(u.Trigger,{asChild:!0},a),e.createElement(u.Portal,{container:p,forceMount:g},e.createElement(u.Content,{sideOffset:4,collisionPadding:10,...m,ref:t,className:r("okTooltipContent",i)},e.createElement("p",{className:"okTooltipText"},f))))}));function w(n){return function(r){return null!=r.tooltip?e.createElement(E,{content:r.tooltip},n):n}}E.displayName="Tooltip";const k=e.forwardRef(((n,t)=>{const{className:a,label:i,size:o=1,onButtonUp:l,onButtonDown:s,onButtonClick:c,...d}=n,u=w(e.createElement("button",{"data-disabled":d.disabled||void 0,...d,ref:t,className:r("okButton",a,"ok-r-size-"+o),onMouseDown:s,onMouseUp:l,onClick:c},i));return e.createElement(u,{...n})}));k.displayName="Button";var v;b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okIndicator {\r\n /* Layout */\r\n display: inline-flex;\r\n padding: var(--indicator-padding, 6px 12px);\r\n justify-content: flex-start;\r\n align-items: baseline;\r\n gap: 4px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: var(--Light, #fff);\r\n\r\n /* Indicator Icon Style */\r\n svg.okIndicatorIcon {\r\n width: var(--indicator-icon-width, 9px);\r\n height: var(--indicator-icon-height, 9px);\r\n }\r\n\r\n /* Label Style */\r\n .okIndicatorLabel {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n /* TODO: Determine how to get Inter font */\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--indicator-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: var(--indicator-line-height, 12px); /* 100% */\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --indicator-padding: 6px 12px;\r\n --indicator-font-size: 12px;\r\n --indicator-line-height: 12px;\r\n --indicator-icon-width: 9px;\r\n --indicator-icon-height: 9px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --indicator-padding: 10px 18px;\r\n --indicator-font-size: 14px;\r\n --indicator-line-height: 14px;\r\n --indicator-icon-width: 10px;\r\n --indicator-icon-height: 10px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --indicator-padding: 18px 22px;\r\n --indicator-font-size: 20px;\r\n --indicator-line-height: 20px;\r\n --indicator-icon-width: 15px;\r\n --indicator-icon-height: 15px;\r\n }\r\n}\r\n'),function(e){e[e.Up=0]="Up",e[e.Down=1]="Down"}(v||(v={}));const I=d.forwardRef(((e,n)=>{const{direction:r=v.Down,color:t="#343434",...a}=e;return d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"8",viewBox:"0 0 12 8",fill:"none",...a,ref:n},((e,n)=>{let r;return e===v.Up||v.Down,r=d.createElement("path",{d:"M6.75593 7.12713C6.35716 7.58759 5.64284 7.58759 5.24407 7.12713L2.23682 3.65465C1.67594 3.00701 2.136 2 2.99275 2L9.00725 2C9.864 2 10.3241 3.00701 9.76318 3.65465L6.75593 7.12713Z",fill:n}),r})(r,t))}));var N;I.displayName="ChevronIcon",function(e){e[e.Up=0]="Up",e[e.Down=1]="Down"}(N||(N={}));const C=d.forwardRef(((e,n)=>{const{direction:r=N.Down,color:t="#343434",...a}=e;return d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"4",viewBox:"0 0 10 4",fill:"none",...a,ref:n},((e,n)=>{let r;switch(e){case N.Up:r=d.createElement("path",{d:"M5 5.1656e-07L10 4L0 4L5 5.1656e-07Z",fill:n});break;case N.Down:r=d.createElement("path",{d:"M5 4L0 0L10 8.88334e-07L5 4Z",fill:n});break;default:r=d.createElement("path",{d:"M5 5.1656e-07L10 4L0 4L5 5.1656e-07Z",fill:n})}return r})(r,t))}));C.displayName="IndicatorArrowIcon";const T=d.forwardRef(((e,n)=>{const{color:r="#343434",...t}=e;return d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"1",viewBox:"0 0 10 1",fill:"none",...t,ref:n},d.createElement("path",{d:"M8.74228e-08 -8.74228e-07L10 -9.53674e-07L10 1L0 0.999999L8.74228e-08 -8.74228e-07Z",fill:r}))}));T.displayName="IndicatorBarIcon";const z=d.forwardRef(((e,n)=>{const{state:r,color:t="#D0D7DF",colorOnState:a="#44BD84",colorOffState:i="#D0D7DF"}=e;return d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",...e,ref:n},((e,n,r,t)=>{let a;switch(e){case exports.ToggleState.On:a=d.createElement("path",{d:"M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10Z",fill:r});break;case exports.ToggleState.Off:a=d.createElement("path",{d:"M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10Z",fill:t});break;default:a=d.createElement("path",{d:"M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10Z",fill:n})}return a})(r,t,a,i))}));z.displayName="IndicatorStateIcon";const D=d.forwardRef(((e,n)=>{const{state:r,color:t="#343434",colorOnState:a="#44BD84",...i}=e;return d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",...i,ref:n},((e,n,r)=>{let t;switch(e){case exports.ToggleState.On:t=d.createElement(d.Fragment,null,d.createElement("circle",{cx:"7",cy:"7",r:"6",stroke:n,strokeWidth:"2"}),d.createElement("circle",{cx:"7",cy:"7",r:"3",fill:r}));break;case exports.ToggleState.Off:default:t=d.createElement("circle",{cx:"7",cy:"7",r:"6",stroke:n,strokeWidth:"2"})}return t})(r,t,a))}));D.displayName="RadioToggleStateIcon";const L=d.forwardRef(((e,n)=>{const{state:r,color:t="white",colorOnState:a="white",colorOffState:i="white",...o}=e;return d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"8",height:"8",viewBox:"0 0 8 8",fill:"none",...o,ref:n},((e,n,r,t)=>{let a;switch(e){case exports.ToggleState.On:a=d.createElement("circle",{cx:"4",cy:"4",r:"3.75",fill:r});break;case exports.ToggleState.Off:a=d.createElement("circle",{cx:"4",cy:"4",r:"3.75",fill:t});break;default:a=d.createElement("circle",{cx:"4",cy:"4",r:"3.75",fill:n})}return a})(r,t,a,i))}));L.displayName="SwitchToggleStateIcon";const R=e.forwardRef(((n,t)=>{const{className:a,label:i,size:o=1,state:l,...s}=n,c=w(e.createElement("span",{...s,ref:t,className:r("okIndicator",a,"ok-r-size-"+o)},e.createElement(z,{className:"okIndicatorIcon",state:l?exports.ToggleState.On:exports.ToggleState.Off}),e.createElement("span",{className:r("okIndicatorLabel")},i)));return e.createElement(c,{...n})}));R.displayName="Indicator";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okLabel {\r\n /* Layout */\r\n display: inline-flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 4px;\r\n\r\n /* Text Style */\r\n .okLabelText {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 12px; /* 100% */\r\n }\r\n\r\n /* Label Position Left Top*/\r\n &:where(.ok-pos-left-top) {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n }\r\n\r\n /* Label Position Left Bottom*/\r\n &:where(.ok-pos-left-bottom) {\r\n flex-direction: column-reverse;\r\n align-items: flex-start;\r\n }\r\n\r\n /* Label Position Right Top*/\r\n &:where(.ok-pos-right-top) {\r\n flex-direction: column;\r\n align-items: flex-end;\r\n }\r\n\r\n /* Label Position Right Bottom*/\r\n &:where(.ok-pos-right-bottom) {\r\n flex-direction: column-reverse;\r\n align-items: flex-end;\r\n }\r\n}\r\n');const O=e.forwardRef(((n,t)=>{const{className:a,text:i,horizontalPosition:o="left",verticalPosition:l="top",children:s,...c}=n;return e.createElement("div",{...c,ref:t,className:r("okLabel",a,"ok-pos-"+o+"-"+l)},e.createElement("span",{className:r("okLabelText")},i),s)}));O.displayName="Label";b("/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okNumberDisplay {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--number-display-padding, 6px 12px);\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: #f5f5f5;\r\n\r\n /* Content Style */\r\n .okNumberDisplayContent {\r\n display: flex;\r\n padding: var(--spacing-0, 0px);\r\n align-items: center;\r\n justify-content: flex-end;\r\n gap: 8px;\r\n flex: 1 0 0;\r\n }\r\n\r\n /* Text Style */\r\n .okNumberDisplayText {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--number-display-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--number-display-line-height, 12px); /* 100% */\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --number-display-padding: 6px 6px;\r\n --number-display-font-size: 12px;\r\n --number-display-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --number-display-padding: 6px 10px;\r\n --number-display-font-size: 14px;\r\n --number-display-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --number-display-padding: 6px 18px;\r\n --number-display-font-size: 20px;\r\n --number-display-line-height: 20px;\r\n }\r\n}\r\n");const A=e.forwardRef(((n,t)=>{const{className:a,label:i,size:o=1,numeralSystem:l=exports.NumeralSystem.Decimal,decimalScale:s=0,maximumValue:c,minimumValue:d,value:u}=n,f=e.useMemo((()=>{const e=m.ComputeDigitCountFromValue(c,l),n=m.ComputeDigitCountFromValue(d,l);return e>n?e:n}),[c,d,l]),p=e.useMemo((()=>e.createElement("span",{className:r("okNumberDisplayText","ok-r-size-"+o)},"-")),[o]),g=w(e.createElement("div",{ref:t,className:r("okNumberDisplay",a,"ok-r-size-"+o)},e.createElement("div",{className:"okNumberDisplayContent"},u<0n&&p,e.createElement("span",{className:"okNumberDisplayText"},function(e,n,r,t){let a;if(null!=e){const i=e>=0n?e:-e,o=Number(n),l=i.toString(r).padStart(o,"0");if(r===exports.NumeralSystem.Decimal&&t>0){const e=o-t;if(e>0)a=l.slice(0,e)+"."+l.slice(e);else{const n="0.";a=n.padEnd(n.length-e,"0")+l}}else a=l}else a="Error";return a}(u,f,l,s)))));if(null!=i)return e.createElement(O,{...i},e.createElement("div",{style:{width:"100%"}},e.createElement(g,{...n})));e.createElement(g,{...n})}));A.displayName="NumberDisplay";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okNumberEntry {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--number-entry-padding, 6px);\r\n justify-content: flex-end;\r\n align-items: center;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--brand-12, #44bd84);\r\n background: var(--Light, #fff);\r\n\r\n /* Content Style */\r\n .okNumberEntryContent {\r\n display: flex;\r\n height: auto; /*32px;*/\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: var(--spacing-0, 0px);\r\n align-self: stretch;\r\n }\r\n\r\n /* Text Style */\r\n .okNumberEntryText {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--number-entry-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--number-entry-line-height, 12px); /* 100% */\r\n letter-spacing: 1.26px;\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --number-entry-padding: 1px 6px;\r\n --number-entry-font-size: 12px;\r\n --number-entry-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --number-entry-padding: 1px 10px;\r\n --number-entry-font-size: 14px;\r\n --number-entry-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --number-entry-padding: 1px 18px;\r\n --number-entry-font-size: 20px;\r\n --number-entry-line-height: 20px;\r\n }\r\n}\r\n\r\n.okNumberEntry[data-disabled="true"] {\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n opacity: 0.5;\r\n background: var(--Gray-3, #e7ebef);\r\n\r\n pointer-events: none;\r\n}\r\n');b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okDigitEntry {\r\n /* Layout */\r\n display: inline-flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 1px;\r\n\r\n /* Content Style */\r\n .okDigitEntryContent {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--spacing-xxs, 2px);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n /* Style */\r\n border-radius: 1px;\r\n\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--digit-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--digit-line-height, 12px); /* 200% */\r\n letter-spacing: 1.26px;\r\n text-transform: uppercase;\r\n }\r\n\r\n /* Increment Indicator Style */\r\n .okDigitEntryIncrementIndicator {\r\n visibility: hidden;\r\n }\r\n\r\n /* Decrement Indicator Style */\r\n .okDigitEntryDecrementIndicator {\r\n visibility: hidden;\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --digit-font-size: 12px;\r\n --digit-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --digit-font-size: 14px;\r\n --digit-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --digit-font-size: 20px;\r\n --digit-line-height: 20px;\r\n }\r\n}\r\n\r\ndiv.okDigitEntry:focus {\r\n /* Layout */\r\n display: inline-flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 1px;\r\n\r\n /* Style */\r\n outline: none;\r\n overscroll-behavior: none;\r\n\r\n /* Content Style */\r\n .okDigitEntryContent {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--spacing-xxs, 2px);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n /* Style */\r\n border-radius: 1px;\r\n background: var(--brand-12, #44bd84);\r\n\r\n /* Typography */\r\n color: var(--Light, #fff);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--digit-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--digit-line-height, 12px); /* 200% */\r\n letter-spacing: 1.26px;\r\n }\r\n\r\n .okDigitEntryIncrementIndicator {\r\n visibility: visible;\r\n }\r\n\r\n .okDigitEntryDecrementIndicator {\r\n visibility: visible;\r\n }\r\n\r\n .okDigitEntryIncrementIndicator[data-enabled="false"] {\r\n opacity: 0.25;\r\n }\r\n\r\n .okDigitEntryDecrementIndicator[data-enabled="false"] {\r\n opacity: 0.25;\r\n }\r\n}\r\n');const B=n=>{const t=e.useRef(null),{className:a,variant:i="standard",size:o=1,value:l,maximum:s,minimum:c,numeralSystem:d=exports.NumeralSystem.Decimal,onValueChanged:u}=n,f=e.useRef(l);f.current=n.value;const p=e.useRef(u);p.current=u;e.useEffect((()=>{const e=e=>{e.deltaY<0?(p.current?.(f.current+1,!1),e.stopPropagation(),e.preventDefault()):e.deltaY>0&&(p.current?.(f.current-1,!1),e.stopPropagation(),e.preventDefault())};return t.current?.addEventListener("wheel",e,{passive:!1}),()=>{t.current?.removeEventListener("wheel",e)}}),[t]);const g=null==s||l<s,m=null==c||l>c;return e.createElement("div",{className:r("okDigitEntry",a,"ok-r-size-"+o),ref:t,tabIndex:-1,onMouseEnter:e=>e.currentTarget.focus(),onMouseLeave:e=>e.currentTarget.blur(),onKeyDown:e=>{let n=!1;switch(e.key){case"ArrowUp":u?.(l+1,!1),n=!0;break;case"ArrowDown":u?.(l-1,!1),n=!0;break;case"ArrowRight":{const r=e.currentTarget.nextElementSibling;r?.focus(),n=!0}break;case"ArrowLeft":{const r=e.currentTarget.previousElementSibling;r?.focus(),n=!0}break;default:n=!1}if(n)e.stopPropagation(),e.preventDefault();else{const n=parseInt(e.key,d);if(!Number.isNaN(n)){u?.(n,!0);const r=e.currentTarget.nextElementSibling;r?.focus()}}}},e.createElement((()=>{let n;switch(i){case"standard":n=e.createElement(C,{className:r("okDigitEntryIncrementIndicator"),direction:N.Up,color:"#343434","data-enabled":g});break;case"compact":n=e.createElement(T,{className:r("okDigitEntryIncrementIndicator"),color:"#343434","data-enabled":g});break;default:n=null}return n}),null),e.createElement("div",{className:r("okDigitEntryContent","ok-r-size-"+o)},Math.abs(l).toString(Number(d))),e.createElement((()=>{let n;switch(i){case"standard":n=e.createElement(C,{className:r("okDigitEntryDecrementIndicator"),direction:N.Down,color:"#343434","data-enabled":m});break;case"compact":n=e.createElement(T,{className:r("okDigitEntryDecrementIndicator"),color:"#343434","data-enabled":m});break;default:n=null}return n}),null))};B.displayName="DigitEntry";const V=n=>{const{variant:t="standard",size:a=1,numeralSystem:i,decimalScale:o=0,digitStates:l,onDigitStatesChange:s}=n;return e.createElement(e.Fragment,null,(()=>{const n=l.map(((n,r)=>e.createElement(B,{key:"digit-"+n.id,variant:t,size:a,numeralSystem:i,value:n.value,maximum:n.maximum,minimum:n.minimum,onValueChanged:(e,n)=>{const t=[...l];t[r]={...l[r],value:e},s?.(t,n)}})));if(i===exports.NumeralSystem.Decimal&&o>0){const t=o-n.length;if(t<0)n.splice(o,0,e.createElement("span",{key:"digit-decimal-point",className:r("okNumberEntryText","ok-r-size-"+a)},"."));else{const i="0.",o=i.padEnd(i.length+t,"0");n.push(e.createElement("span",{key:"digit-decimal-prefix",className:r("okNumberEntryText","ok-r-size-"+a)},o))}}return n.reverse()})())};V.displayName="NumberEntryDigits";const P=e.forwardRef(((n,r)=>{const{label:t,tooltip:a,...i}=n,o=null!=t,l=null!=a;return o&&l?e.createElement(O,{...t},e.createElement(E,{content:a},e.createElement("div",{style:{width:"100%"}},e.createElement(F,{ref:r,...i})))):o?e.createElement(O,{...t},e.createElement("div",{style:{width:"100%"}},e.createElement(F,{ref:r,...i}))):l?e.createElement(E,{content:a},e.createElement("div",null,e.createElement(F,{ref:r,...i}))):e.createElement(F,{ref:r,...i})}));P.displayName="NumberEntry";const F=e.forwardRef(((n,t)=>{const{className:a,variant:i="standard",size:o=1,disabled:l=!1,numeralSystem:s=exports.NumeralSystem.Decimal,decimalScale:c=0,maximumValue:d,minimumValue:u,value:f,onValueChange:p}=n,g=e.useMemo((()=>{const e=m.ComputeDigitCountFromValue(d,s),n=m.ComputeDigitCountFromValue(u,s);return Number(e>n?e:n)}),[d,u,s]),h=BigInt(s),y=j(f,d,u,h,g);return e.createElement("div",{ref:t,className:r("okNumberEntry",a,"ok-r-size-"+o),"data-disabled":l||void 0},e.createElement("div",{className:"okNumberEntryContent"},f<0n&&(n=>e.createElement("span",{className:r("okNumberEntryText","ok-r-size-"+n)},"-"))(o),e.createElement(V,{variant:i,size:o,numeralSystem:s,decimalScale:c,digitStates:y,onDigitStatesChange:(e,n)=>{let r=M(e,h);r>=0n!=f>=0n&&0n!==r&&(r+=2n*-f),r<=d&&r>=u&&p?.(r)}})))}));F.displayName="NumberEntryImpl";const M=(e,n)=>{const r=e.length-1;let t=BigInt(e[r].value);for(let a=r-1;a>=0;a--)t=t*n+BigInt(e[a].value);return t},j=(e,n,r,t,a)=>{const i=[];let o=e,l=n-e,s=r-e;for(let e=0;e<a;e++){const n=Number(o%t),r=Math.floor(Number(l+BigInt(n))),a=Math.ceil(Number(s+BigInt(n)));i[e]={id:e,value:n,maximum:G(r,Number(t)),minimum:G(a,Number(t))},o/=t,l/=t,s/=t}return i},G=(e,n)=>{let r;return r=e>=0?e<n?e:void 0:e>-n?e:void 0,r};b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okRangeSlider {\r\n --range-slider-thumb-outline-size: 2px;\r\n --range-slider-thumb-border-size: 2px;\r\n --range-slider-thumb-size: 22px;\r\n --range-slider-track-size: 8px;\r\n\r\n /* Layout */\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n gap: 4px;\r\n align-self: stretch;\r\n width: 100%;\r\n height: fit-content;\r\n\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: right;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 12px; /* 100% */\r\n}\r\n\r\n/* State Disabled */\r\n.okRangeSlider[data-disabled="true"] {\r\n opacity: 0.5;\r\n}\r\n\r\n.okRangeSliderLabel {\r\n width: 100%;\r\n}\r\n\r\n.okRangeSliderRoot {\r\n /* Layout */\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n height: var(--range-slider-thumb-size);\r\n min-width: 100px;\r\n\r\n /* Style */\r\n user-select: none;\r\n touch-action: none;\r\n}\r\n\r\n.okRangeSliderTrack {\r\n /* Layout */\r\n position: relative;\r\n flex-grow: 1;\r\n height: var(--range-slider-track-size);\r\n\r\n /* Style */\r\n background: var(--Gray-2, #d0d7df);\r\n border-radius: 9999px;\r\n}\r\n\r\n.okRangeSliderRange {\r\n /* Layout */\r\n position: absolute;\r\n height: 100%;\r\n\r\n /* Style */\r\n background-color: #44bd84;\r\n border-radius: inherit;\r\n}\r\n\r\n.okRangeSliderThumb {\r\n /* Layout */\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: calc(\r\n var(--range-slider-thumb-size) -\r\n (2 * (var(--range-slider-thumb-border-size) + var(--range-slider-thumb-outline-size)))\r\n );\r\n height: calc(\r\n var(--range-slider-thumb-size) -\r\n (2 * (var(--range-slider-thumb-border-size) + var(--range-slider-thumb-outline-size)))\r\n );\r\n\r\n /* Style */\r\n background: var(--Base-White, #fff);\r\n border: var(--range-slider-thumb-border-size) solid var(--brand-12, #44bd84);\r\n border-radius: var(--range-slider-thumb-size);\r\n}\r\n\r\n.okRangeSliderThumb:hover {\r\n background-color: #44bd84;\r\n}\r\n\r\n.okRangeSliderThumb:focus {\r\n outline: none;\r\n box-shadow: 0 0 0 var(--range-slider-thumb-outline-size) #d0d7df;\r\n}\r\n\r\n.okRangeSliderThumbLabel {\r\n /* Layout */\r\n position: absolute;\r\n bottom: -14px;\r\n}\r\n');const W=e.forwardRef(((n,r)=>{const{label:t,tooltip:a,...i}=n,o=null!=t,l=null!=a;return o&&l?e.createElement(O,{className:"okRangeSliderLabel",...t},e.createElement(E,{content:a},e.createElement("div",{style:{width:"100%"}},e.createElement(_,{ref:r,...i})))):o?e.createElement(O,{className:"okRangeSliderLabel",...t},e.createElement("div",{style:{width:"100%"}},e.createElement(_,{ref:r,...i}))):l?e.createElement(E,{content:a},e.createElement("div",{style:{width:"100%"}},e.createElement(_,{ref:r,...i}))):e.createElement(_,{ref:r,...i})}));W.displayName="RangeSlider";const _=e.forwardRef(((n,t)=>{const{className:a,tooltip:i,minimumValue:o=0,maximumValue:l=100,onValueChange:s,defaultValue:c=o,value:d,valueStep:u=1,showThumbLabel:p=!0,showTrackLabels:g=!0,disabled:m=!1}=n,h=d??c,[y,x]=e.useState([h]);e.useEffect((()=>{x([h])}),[h]);const b=e.useCallback((e=>{x([e]),s?.(e)}),[s]),S=()=>e.createElement(f.Track,{className:"okRangeSliderTrack"},e.createElement(f.Range,{className:"okRangeSliderRange"})),w=null!=i;return e.createElement("div",{className:r("okRangeSlider",a),"data-disabled":m||void 0},g?e.createElement("span",null,o):null,e.createElement(f.Root,{ref:t,min:o,max:l,step:u,value:y,onValueChange:e=>b(e[0]),orientation:"horizontal",className:"okRangeSliderRoot",disabled:m},w?e.createElement(E,{content:i},e.createElement(S,null)):e.createElement(S,null),e.createElement(f.Thumb,{className:"okRangeSliderThumb"},p?e.createElement("div",{className:"okRangeSliderThumbLabel"},y):null)),g?e.createElement("span",null,l):null)}));_.displayName="RangeSliderImpl";const U=e.createContext({label:{text:"",horizontalPosition:"right",verticalPosition:"top"},size:1,value:void 0}),K=n=>{const{label:r,children:t,size:a=1,tooltip:i,value:o,...l}=n;return e.createElement(p.Root,{value:o,...l},e.createElement(U.Provider,{value:e.useMemo((()=>({label:r,size:a,tooltip:i,value:o})),[r,a,i,o])},t))};K.displayName="SelectEntryRoot";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryContent {\r\n /* Layout */\r\n width: var(--radix-select-trigger-width);\r\n max-height: var(--radix-select-content-available-height);\r\n display: flex;\r\n padding: 10px 18px;\r\n flex-direction: column;\r\n overflow: hidden;\r\n justify-content: center;\r\n align-items: stretch;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: var(--Light, #fff);\r\n box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.24);\r\n\r\n .okSelectEntryContentInner {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n }\r\n\r\n /* ScrollArea Root Style */\r\n .okScrollArea {\r\n display: flex;\r\n flex-direction: column;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n /* ScrollArea Viewport Style */\r\n .okScrollAreaViewport {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n gap: 10px;\r\n\r\n /* Stop Chrome back/forward two-finger swipe */\r\n overscroll-behavior-x: contain;\r\n\r\n &:where(:focus-visible) + :where(.rt-ScrollAreaViewportFocusRing) {\r\n position: absolute;\r\n inset: 0;\r\n pointer-events: none;\r\n outline: 2px solid var(--focus-8);\r\n outline-offset: -2px;\r\n }\r\n }\r\n\r\n /* ScrollArea Scrollbar Style */\r\n .okScrollAreaScrollbar {\r\n display: flex;\r\n /* Ensures no selection */\r\n user-select: none;\r\n /* Disable browser handling of all panning and zooming gestures on touch devices */\r\n touch-action: none;\r\n\r\n &:where([data-orientation="vertical"]) {\r\n flex-direction: column;\r\n width: 4px;\r\n }\r\n &:where([data-orientation="horizontal"]) {\r\n flex-direction: row;\r\n height: 4px;\r\n }\r\n }\r\n\r\n /* ScrollArea Thumb Style */\r\n .okScrollAreaThumb {\r\n position: relative;\r\n\r\n &::before {\r\n content: "";\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n width: 100%;\r\n height: 100%;\r\n min-width: var(--space-4);\r\n min-height: var(--space-4);\r\n }\r\n }\r\n}\r\n');const Q=e.forwardRef(((n,t)=>{const{className:a,children:i,container:o,...l}=n,{size:s}=e.useContext(U);return e.createElement(p.Portal,{container:o},e.createElement(p.Content,{sideOffset:4,...l,ref:t,className:r("okSelectEntryContent",a,"ok-r-size-"+s),position:"popper",align:"start"},e.createElement(g.Root,{type:"auto",className:"okScrollArea"},e.createElement(p.Viewport,{asChild:!0},e.createElement(g.Viewport,{className:"okScrollAreaViewport"},e.createElement("div",{className:"okSelectEntryContentInner"},i))),e.createElement(g.Scrollbar,{className:"okScrollAreaScrollbar",orientation:"vertical"},e.createElement(g.Thumb,{className:"okScrollAreaThumb"})))))}));Q.displayName="SelectEntryContent";b("/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryGroup {\r\n /* Layout */\r\n display: flex;\r\n padding: 0px;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n align-self: stretch;\r\n gap: 10px;\r\n}\r\n");const X=e.forwardRef(((n,t)=>e.createElement(p.Group,{...n,ref:t,className:r("okSelectEntryGroup",n.className)})));X.displayName="SelectEntryGroup";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryItem {\r\n /* Layout */\r\n display: flex;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n /* Style */\r\n color: var(--Dark, #343434);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 14px; /* 100% */\r\n\r\n /* Indicator Style */\r\n .okSelectEntryItemIndicator {\r\n width: 14px;\r\n height: 14px;\r\n }\r\n}\r\n\r\n.okSelectEntryItem[data-disabled] {\r\n opacity: 0.5;\r\n pointer-events: none;\r\n}\r\n.okSelectEntryItem[data-highlighted] {\r\n outline: none;\r\n}\r\n');const Y=e.forwardRef(((n,t)=>{const{className:a,children:i,...o}=n,{size:l,value:s}=e.useContext(U);return e.createElement(p.Item,{...o,ref:t,className:r("okSelectEntryItem",a,"ok-r-size-"+l)},e.createElement(D,{state:s===n.value?exports.ToggleState.On:exports.ToggleState.Off}),e.createElement(p.ItemText,null,i))}));Y.displayName="SelectEntryItem";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryLabel {\r\n /* Typography */\r\n color: var(--Gray-1, #989da3);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 10px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 12px; /* 120% */\r\n}\r\n');const Z=e.forwardRef(((n,t)=>{const{className:a,...i}=n,{size:o}=e.useContext(U);return e.createElement(p.Label,{...i,ref:t,className:r("okSelectEntryLabel",a,"ok-r-size-"+o)})}));Z.displayName="SelectEntryLabel";b("/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntrySeparator {\r\n height: 1px;\r\n\r\n background: #d0d7df;\r\n}\r\n");const q=e.forwardRef(((n,t)=>e.createElement(p.Separator,{...n,ref:t,className:r("okSelectEntrySeparator",n.className)})));q.displayName="SelectEntrySeparator";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryTrigger {\r\n /* Layout */\r\n display: flex;\r\n padding: 0px 18px;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: 8px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: var(--Light, #fff);\r\n\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 14px; /* 100% */\r\n\r\n /* State Disabled */\r\n &:is(:disabled) {\r\n opacity: 0.5;\r\n background: var(--Gray-3, #e7ebef);\r\n }\r\n}\r\n\r\n.okSelectEntryTriggerInner {\r\n /* Layout */\r\n padding: 10px 0px;\r\n\r\n /* Style */\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n}\r\n\r\n/* State Disabled */\r\n.okSelectEntryTrigger[data-disabled="true"] {\r\n opacity: 0.5;\r\n}\r\n');const H=e.forwardRef(((n,r)=>{const{label:t,tooltip:a,...i}=e.useContext(U),o=null!=t,l=null!=a;return o&&l?e.createElement(O,{...t},e.createElement(E,{content:a},e.createElement(J,{ref:r,...n,style:{width:"100%"}}))):o?e.createElement(O,{...t},e.createElement(J,{ref:r,...i,style:{width:"100%"}})):l?e.createElement(E,{content:a},e.createElement("div",null,e.createElement(J,{ref:r,...i}))):e.createElement(J,{ref:r,...i})}));H.displayName="SelectEntryTrigger";const J=e.forwardRef(((n,t)=>{const{className:a,placeholder:i,...o}=n,{size:l}=e.useContext(U);return e.createElement(p.Trigger,{asChild:!0},e.createElement("button",{...o,ref:t,className:r("okSelectEntryTrigger",a,"ok-r-size-"+l)},e.createElement("span",{className:"okSelectEntryTriggerInner"},e.createElement(p.Value,{placeholder:i})),e.createElement(p.Icon,{asChild:!0},e.createElement(I,{direction:v.Down}))))}));J.displayName="SelectEntryTriggerImpl";const $=Object.assign({},{Root:K,Trigger:H,Content:Q,Item:Y,Group:X,Label:Z,Separator:q});b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okToggle {\r\n /* Layout */\r\n display: inline-flex;\r\n padding: var(--toggle-padding, 6px 12px);\r\n justify-content: center;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n color: var(--base-white, #fff);\r\n\r\n /* Style */\r\n border-width: 0px;\r\n border-radius: 4px;\r\n background: var(--brand-12, #44bd84);\r\n\r\n /* Typography */\r\n color: var(--Base-White, #fff);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--toggle-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 600;\r\n line-height: 12px; /* 100% */\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --toggle-padding: 6px 12px;\r\n --toggle-font-size: 12px;\r\n --toggle-line-height: 12px;\r\n }\r\n\r\n /* Size 2 */\r\n &:where(.ok-r-size-2) {\r\n --toggle-padding: 10px 18px;\r\n --toggle-font-size: 14px;\r\n --toggle-line-height: 14px;\r\n }\r\n\r\n /* Size 3 */\r\n &:where(.ok-r-size-3) {\r\n --toggle-padding: 18px 22px;\r\n --toggle-font-size: 20px;\r\n --toggle-line-height: 20px;\r\n }\r\n}\r\n\r\n/* State Disabled */\r\n.okToggle[data-disabled="true"] {\r\n background: var(--Gray-2, #d0d7df);\r\n}\r\n\r\n/* State On */\r\n.okToggle[data-state="on"]:not([data-disabled="true"]) {\r\n background: #329466;\r\n}\r\n\r\n/* State Off */\r\n.okToggle[data-state="off"]:not([data-disabled="true"]) {\r\n background: var(--brand-12, #44bd84);\r\n}\r\n');const ee=e.forwardRef(((n,t)=>{const{className:a,size:i=1,disabled:o=!1,tooltip:l,state:s,children:c,onToggleStateChanged:d,...u}=n,f=e.useMemo((()=>{switch(s){case exports.ToggleState.On:return"on";case exports.ToggleState.Off:return"off";default:return"indeterminate"}}),[s]),p=e.useCallback((()=>{const e=s===exports.ToggleState.On?exports.ToggleState.Off:exports.ToggleState.On;d?.(e)}),[s]);return e.createElement("button",{"data-disabled":o||void 0,ref:t,...u,className:r("okToggle",a,"ok-r-size-"+i),"data-state":f,onClick:p},c)}));ee.displayName="Toggle";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okToggleSwitchRoot {\r\n /* Layout */\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n\r\n /* Switch Style */\r\n .okToggleSwitch {\r\n /* Layout */\r\n display: flex;\r\n width: var(--toggle-switch-width, 16.5px);\r\n height: var(--toggle-switch-height, 9px);\r\n padding: var(--toggle-switch-padding, 0.75px);\r\n align-items: center;\r\n\r\n /* Style */\r\n border-width: 0px;\r\n border-radius: var(--toggle-switch-border-radius, 4.5px);\r\n background: var(--Gray-2, #d0d7df);\r\n\r\n /* Switch Icon Style */\r\n .okIndicatorIcon {\r\n width: var(--toggle-switch-icon-width, 9px);\r\n height: var(--toggle-switch-icon-height, 9px);\r\n }\r\n }\r\n\r\n /* Label Style */\r\n .okToggleSwitchLabel {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--toggle-switch-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: var(--toggle-switch-line-height, 12px); /* 100% */\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --toggle-switch-width: 16.5px;\r\n --toggle-switch-height: 9px;\r\n\r\n --toggle-switch-padding: 0.75px;\r\n --toggle-switch-border-radius: 4.5px;\r\n\r\n --toggle-switch-font-size: 12px;\r\n --toggle-switch-line-height: 12px;\r\n\r\n --toggle-switch-icon-width: 7.5px;\r\n --toggle-switch-icon-height: 7.5px;\r\n }\r\n\r\n /* Sizes 2*/\r\n &:where(.ok-r-size-2) {\r\n --toggle-switch-width: 18.333px;\r\n --toggle-switch-height: 10px;\r\n\r\n --toggle-switch-padding: 0.883px;\r\n --toggle-switch-border-radius: 5px;\r\n\r\n --toggle-switch-font-size: 14px;\r\n --toggle-switch-line-height: 14px;\r\n\r\n --toggle-switch-icon-width: 8.33px;\r\n --toggle-switch-icon-height: 8.33px;\r\n }\r\n\r\n /* Sizes 3*/\r\n &:where(.ok-r-size-3) {\r\n --toggle-switch-width: 27.5px;\r\n --toggle-switch-height: 15px;\r\n\r\n --toggle-switch-padding: 1.25px;\r\n --toggle-switch-border-radius: 7.5px;\r\n\r\n --toggle-switch-font-size: 20px;\r\n --toggle-switch-line-height: 20px;\r\n\r\n --toggle-switch-icon-width: 12.5px;\r\n --toggle-switch-icon-height: 12.5px;\r\n }\r\n}\r\n\r\n/* State Disabled */\r\n.okToggleSwitchRoot[data-disabled="true"] {\r\n opacity: 0.5;\r\n}\r\n\r\n/* State On */\r\n.okToggleSwitch[data-state="on"] {\r\n justify-content: flex-end;\r\n}\r\n\r\n.okToggleSwitch[data-state="on"]:not([data-disabled="true"]) {\r\n background: var(--brand-12, #44bd84);\r\n}\r\n\r\n/* State Off */\r\n.okToggleSwitch[data-state="off"] {\r\n justify-content: flex-start;\r\n}\r\n\r\n.okToggleSwitch[data-state="off"]:not([data-disabled="true"]) {\r\n background: var(--Gray-2, #d0d7df);\r\n}\r\n');const ne=e.forwardRef(((n,t)=>{const{className:a,size:i=1,label:o,disabled:l=!1,state:s,...c}=n,d=w(e.createElement("span",{className:r("okToggleSwitchRoot",a,"ok-r-size-"+i),"data-disabled":l||void 0},e.createElement(ee,{className:r("okToggleSwitch"),ref:t,...c,size:i,disabled:l,state:s},e.createElement(L,{className:"okIndicatorIcon",state:s})),e.createElement("span",{className:r("okToggleSwitchLabel")},o)));return e.createElement(d,{...n})}));ne.displayName="ToggleSwitch";const re=e.forwardRef(((n,r)=>{const[t,a]=e.useState(n.minimumValue??0n),{device:i,workQueue:l}=e.useContext(y),{maximumValue:s,minimumValue:c,fpEndpoint:d,disabled:u,...f}=n,p=e.useMemo((()=>void 0!==c?function(e,n,r){let t;t=e<r?r:e>n?n:e;return t}(c,s,0n):0n),[c,s]),g=e.useMemo((()=>h(s)),[s]),m=(1n<<BigInt(g))-1n<<BigInt(d.bitOffset),x=e.useCallback((e=>{if(null!=e&&null!=l){let n=e.getWireInValue(d.epAddress),r=0xffffffffn&m,t=(BigInt(n)&r)>>BigInt(d.bitOffset);if(m>0xffffffffn){let a=32n-BigInt(d.bitOffset),i=m>>32n;for(let l=d.epAddress+1;l<=o.WIREIN_ADDRESS_RANGE.Maximum&&i>0n;l++)n=e.getWireInValue(l),r=0xffffffffn&i,t|=(BigInt(n)&r)<<a,a+=32n,i>>=32n}a(t)}else a(0n)}),[l,d,m]);e.useEffect((()=>{x(i)}),[i,x]);const b=e.useCallback((async e=>{null!=i&&null!=l&&await l.Post((async()=>{let n=0xffffffffn&m,r=Number(e<<BigInt(d.bitOffset)&n);if(i.setWireInValue(d.epAddress,r,Number(n)),m>0xffffffffn){let t=32n-BigInt(d.bitOffset),a=m>>32n;for(let l=d.epAddress+1;l<=o.WIREIN_ADDRESS_RANGE.Maximum&&a>0n;l++)n=0xffffffffn&a,r=Number(e>>t&n),i.setWireInValue(l,r,Number(n)),t+=32n,a>>=32n}await i.updateWireIns()})),x(i)}),[i,l,d,m,x]);return e.createElement(P,{...f,ref:r,disabled:u||null===i,maximumValue:s,minimumValue:p,value:t,onValueChange:b})}));re.displayName="FrontPanelNumberEntry";b("");const te=e.forwardRef(((n,r)=>{const[t,a]=e.useState(0n),{device:i,workQueue:l,eventSource:s}=e.useContext(y),{maximumValue:c,fpEndpoint:d,...u}=n,f=e.useMemo((()=>h(c)),[c]),p=(1n<<BigInt(f))-1n<<BigInt(d.bitOffset),g=e.useCallback((e=>{if(null!=e&&null!=l){let n=e.getWireOutValue(d.epAddress),r=0xffffffffn&p,t=(BigInt(n)&r)>>BigInt(d.bitOffset);if(p>0xffffffffn){let a=32n-BigInt(d.bitOffset),i=p>>32n;for(let l=d.epAddress+1;l<=o.WIREOUT_ADDRESS_RANGE.Maximum&&i>0n;l++)n=e.getWireOutValue(l),r=0xffffffffn&i,t|=(BigInt(n)&r)<<a,a+=32n,i>>=32n}a(t)}else a(0n)}),[l,d,p]);return e.useEffect((()=>{g(i);const e=s?.WireOutValuesChangedEvent.Subscribe(g);return()=>{e?.Cancel()}}),[i,s,g]),e.createElement(A,{...u,ref:r,maximumValue:c,minimumValue:0n,value:t})}));te.displayName="FrontPanelNumberDisplay";const ae=e.forwardRef(((n,r)=>{const[t,a]=e.useState(!1),{device:i,workQueue:o,eventSource:l}=e.useContext(y),{fpEndpoint:s,...c}=n,d=1<<s.bitOffset,u=e.useCallback((e=>{if(null!=e&&null!=o){const n=e.getWireOutValue(s.epAddress);a((n&d)===d)}else a(!1)}),[o,s,d]);return e.useEffect((()=>{u(i);const e=l?.WireOutValuesChangedEvent.Subscribe(u);return()=>{e?.Cancel()}}),[i,l,u]),e.createElement(R,{...c,ref:r,state:t})}));ae.displayName="FrontPanelIndicator";const ie=e.forwardRef(((n,r)=>{const{device:t,workQueue:a}=e.useContext(y),{fpEndpoint:i,disabled:o,...l}=n,s=1<<i.bitOffset,c=e.useCallback((async()=>{null!=t&&null!=a&&await a.Post((async()=>{t.setWireInValue(i.epAddress,0,s),await t.updateWireIns()}))}),[t,a,i,s,a]),d=e.useCallback((async()=>{null!=t&&null!=a&&await a.Post((async()=>{t.setWireInValue(i.epAddress,4294967295,s),await t.updateWireIns()}))}),[t,a,i,s,a]);return e.createElement(k,{...l,ref:r,disabled:o||null==t,onButtonUp:c,onButtonDown:d})}));ie.displayName="FrontPanelPushButton";const oe=e.forwardRef(((n,r)=>{const[t,a]=e.useState(exports.ToggleState.Off),{device:i,workQueue:o}=e.useContext(y),{fpEndpoint:l,disabled:s,...c}=n,d=1<<l.bitOffset,u=e.useCallback((e=>{if(null!=e&&null!=o){const n=(e.getWireInValue(l.epAddress)&d)===d?exports.ToggleState.On:exports.ToggleState.Off;a(n)}else a(exports.ToggleState.Off)}),[o,l,d]),f=e.useCallback((async e=>{null!=i&&null!=o&&await o.Post((async()=>{const n=e===exports.ToggleState.On?4294967295:0;i.setWireInValue(l.epAddress,n,d),await i.updateWireIns()})),u(i)}),[i,o,l,d]);return e.useEffect((()=>{u(i)}),[i,u]),e.createElement(ne,{ref:r,...c,disabled:s||null==i,state:t,onToggleStateChanged:f})}));oe.displayName="FrontPanelToggleSwitch";b("");const le=e.forwardRef(((n,r)=>{const{device:t,workQueue:a}=e.useContext(y),{fpEndpoint:i,disabled:o,...l}=n,s=e.useCallback((async()=>{null!=t&&null!=a&&await a.Post((async()=>{await t.activateTriggerIn(i.epAddress,i.bitOffset)}))}),[t,a,i]);return e.createElement(k,{...l,ref:r,disabled:o||null==t,onButtonDown:s})}));le.displayName="FrontPanelTriggerButton";const se=e.forwardRef(((n,r)=>{const[t,a]=e.useState(0n),{device:i,workQueue:o}=e.useContext(y),{fpEndpoint:l,maximumValue:s,disabled:c,...d}=n,u=e.useMemo((()=>h(BigInt(s))),[s]),f=(1n<<BigInt(u))-1n<<BigInt(l.bitOffset),p=e.useCallback((e=>{if(null!=e&&null!=o){const n=e.getWireInValue(l.epAddress),r=(BigInt(n)&f)>>BigInt(l.bitOffset);a(r)}else a(0n)}),[o,l,f]),g=e.useCallback((e=>{null!=i&&null!=o&&o.Post((async()=>{i.setWireInValue(l.epAddress,e<<l.bitOffset,Number(f)),await i.updateWireIns()}))}),[i,o,l,o,f]);return e.useEffect((()=>{p(i)}),[i,p]),e.createElement(W,{...d,ref:r,disabled:c||null==i,defaultValue:Number(t),maximumValue:s,onValueChange:g})}));se.displayName="FrontPanelRangeSlider";const ce=n=>{const[r,t]=e.useState(0n),{device:a,workQueue:i}=e.useContext(y),{fpEndpoint:l,maximumValue:s,disabled:c,...d}=n,u=e.useMemo((()=>h(s)),[s]),f=(1n<<BigInt(u))-1n<<BigInt(l.bitOffset),p=e.useCallback((e=>{if(null!=e&&null!=i){let n=e.getWireInValue(l.epAddress),r=0xffffffffn&f,a=(BigInt(n)&r)>>BigInt(l.bitOffset);if(f>0xffffffffn){let t=32n-BigInt(l.bitOffset),i=f>>32n;for(let s=l.epAddress+1;s<=o.WIREIN_ADDRESS_RANGE.Maximum&&i>0n;s++)n=e.getWireInValue(s),r=0xffffffffn&i,a|=(BigInt(n)&r)<<t,t+=32n,i>>=32n}t(a)}else t(0n)}),[i,l,f]),g=e.useCallback((e=>{if(null!=a&&null!=i){const n=BigInt(e);i.Post((async()=>{let e=0xffffffffn&f,r=Number(n<<BigInt(l.bitOffset)&e);if(a.setWireInValue(l.epAddress,r,Number(e)),f>0xffffffffn){let t=32n-BigInt(l.bitOffset),i=f>>32n;const o=32-l.epAddress;for(let s=1;s<o&&i>0n;s++)e=0xffffffffn&i,r=Number(n>>t&e),a.setWireInValue(l.epAddress+s,r,Number(e)),t+=32n,i>>=32n}await a.updateWireIns()}))}p(a)}),[a,i,l,p]);return e.useEffect((()=>{p(a)}),[a,p]),e.createElement($.Root,{...d,disabled:c||null==a,value:r.toString(),onValueChange:g})};ce.displayName="FrontPanelSelectEntryRoot";const de=Object.assign({},{Root:ce,Trigger:H,Content:Q,Item:Y,Group:X,Label:Z,Separator:q});exports.Application=S,exports.Button=k,exports.CalculateBitLength=h,exports.FrontPanel=x,exports.FrontPanelContext=y,exports.FrontPanelIndicator=ae,exports.FrontPanelNumberDisplay=te,exports.FrontPanelNumberEntry=re,exports.FrontPanelPushButton=ie,exports.FrontPanelRangeSlider=se,exports.FrontPanelSelectEntry=de,exports.FrontPanelSelectEntryRoot=ce,exports.FrontPanelToggleSwitch=oe,exports.FrontPanelTriggerButton=le,exports.Indicator=R,exports.Label=O,exports.NumberDisplay=A,exports.NumberEntry=P,exports.NumericDigits=m,exports.RangeSlider=W,exports.SelectEntry=$,exports.SelectEntryContent=Q,exports.SelectEntryGroup=X,exports.SelectEntryItem=Y,exports.SelectEntryLabel=Z,exports.SelectEntryRoot=K,exports.SelectEntrySeparator=q,exports.SelectEntryTrigger=H,exports.Toggle=ee,exports.ToggleSwitch=ne,exports.Tooltip=E;
|
1
|
+
"use strict";var e=require("react"),n=require("@radix-ui/react-tooltip"),r=require("classnames"),t=require("@radix-ui/react-slider"),a=require("@radix-ui/react-select"),i=require("@radix-ui/react-scroll-area"),o=require("@opalkelly/frontpanel-alloy-core");function l(e){var n=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,t.get?t:{enumerable:!0,get:function(){return e[r]}})}})),n.default=e,Object.freeze(n)}var s,c,d=l(e),u=l(n),f=l(t),p=l(a),g=l(i);exports.NumeralSystem=void 0,(s=exports.NumeralSystem||(exports.NumeralSystem={}))[s.Binary=2]="Binary",s[s.Octal=8]="Octal",s[s.Decimal=10]="Decimal",s[s.Hexadecimal=16]="Hexadecimal",exports.ToggleState=void 0,(c=exports.ToggleState||(exports.ToggleState={}))[c.Off=0]="Off",c[c.On=1]="On";class m{get DigitCount(){return this._DigitCount}get NumeralSystem(){return this._NumeralSystem}get DigitChars(){return this._DigitChars}constructor(e,n){this._DigitCount=e,this._NumeralSystem=n,this._DigitChars=m.GetDigitChars(n)}GetDigitFromValue(e){let n=e%this._NumeralSystem;return n<0&&(n+=this._NumeralSystem),n.toString(this._NumeralSystem)}static GetDigitChars(e){let n;switch(e){case exports.NumeralSystem.Binary:n=m.BINARY_DIGITVALUES;break;case exports.NumeralSystem.Octal:n=m.OCTAL_DIGITVALUES;break;case exports.NumeralSystem.Decimal:n=m.DECIMAL_DIGITVALUES;break;case exports.NumeralSystem.Hexadecimal:n=m.HEXADECIMAL_DIGITVALUES;break;default:n=[]}return n}static ComputeDigitCountFromBits(e,n){const r=(1n<<BigInt(e))-1n;return this.ComputeDigitCountFromValue(r,n)}static ComputeDigitCountFromValue(e,n){const r=BigInt(n);let t,a=e;for(t=0n;t<m.MAX_DIGITS&&0n!==a;t++)a/=r;return t>0n?t:1n}}function h(e){let n=0;if(e>0n){let r=e;for(;r>0n;)r>>=1n,n++}else 0n===e&&(n=1);return n}m.MAX_DIGITS=1024,m.BINARY_DIGITVALUES=["0","1"],m.OCTAL_DIGITVALUES=["0","1","2","3","4","5","6","7"],m.DECIMAL_DIGITVALUES=[...m.OCTAL_DIGITVALUES,"8","9"],m.HEXADECIMAL_DIGITVALUES=[...m.DECIMAL_DIGITVALUES,"A","B","C","D","E","F"];const y=e.createContext({}),x=n=>{const{device:r,workQueue:t,eventSource:a}=n;return e.createElement(y.Provider,{value:{device:r,workQueue:t,eventSource:a}},n.children)};function b(e,n){void 0===n&&(n={});var r=n.insertAt;if(e&&"undefined"!=typeof document){var t=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===r&&t.firstChild?t.insertBefore(a,t.firstChild):t.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}x.displayName="FrontPanel";b("");const S=d.forwardRef(((e,n)=>d.createElement(u.Provider,null,e.children)));S.displayName="Application";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n@font-face {\r\n font-family: "Inter";\r\n src: url("./fonts/Inter-VariableFont_slnt\\,wght.ttf") format("truetype");\r\n}\r\n');b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okButton {\r\n /* Layout */\r\n display: inline-flex;\r\n padding: var(--button-padding, 6px 12px);\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n\r\n /* Style */\r\n border-width: 0px;\r\n border-radius: 4px;\r\n background: var(--brand-12, #44bd84);\r\n\r\n /* Typography */\r\n color: var(--Base-White, #fff);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--button-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 600;\r\n line-height: var(--button-line-height, 12px); /* 100% */\r\n\r\n /* State Pressed */\r\n &:is(:active) {\r\n background: #329466;\r\n }\r\n\r\n /* State Disabled */\r\n &:is(:disabled) {\r\n background: var(--Gray-2, #d0d7df);\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --button-padding: 6px 12px;\r\n --button-font-size: 12px;\r\n --button-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2*/\r\n &:where(.ok-r-size-2) {\r\n --button-padding: 10px 18px;\r\n --button-font-size: 14px;\r\n --button-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3*/\r\n &:where(.ok-r-size-3) {\r\n --button-padding: 18px 22px;\r\n --button-font-size: 20px;\r\n --button-line-height: 20px;\r\n }\r\n}\r\n');b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okTooltipContent {\r\n /* Layout */\r\n display: flex;\r\n padding: 10px;\r\n align-items: flex-end;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n background: var(--Dark, #343434);\r\n\r\n /* Drop shadow - tiny */\r\n box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.24);\r\n\r\n user-select: none;\r\n animation-duration: 200ms;\r\n animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);\r\n will-change: transform, opacity;\r\n}\r\n\r\n.okTooltipContent[data-state="delayed-open"][data-side="top"] {\r\n animation-name: slideDownAndFade;\r\n}\r\n.okTooltipContent[data-state="delayed-open"][data-side="right"] {\r\n animation-name: slideLeftAndFade;\r\n}\r\n.okTooltipContent[data-state="delayed-open"][data-side="bottom"] {\r\n animation-name: slideUpAndFade;\r\n}\r\n.okTooltipContent[data-state="delayed-open"][data-side="left"] {\r\n animation-name: slideRightAndFade;\r\n}\r\n\r\n.okTooltipText {\r\n /* Typography */\r\n color: var(--Light, #fff);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 12px; /* 100% */\r\n}\r\n\r\n@keyframes slideUpAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateY(2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n}\r\n\r\n@keyframes slideRightAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateX(-2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateX(0);\r\n }\r\n}\r\n\r\n@keyframes slideDownAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateY(-2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n}\r\n\r\n@keyframes slideLeftAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateX(2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateX(0);\r\n }\r\n}\r\n');const E=e.forwardRef(((n,t)=>{const{children:a,className:i,open:o,defaultOpen:l,onOpenChange:s,delayDuration:c,disableHoverableContent:d,content:f,container:p,forceMount:g,...m}=n,h={open:o,defaultOpen:l,onOpenChange:s,delayDuration:c,disableHoverableContent:d};return e.createElement(u.Root,{...h},e.createElement(u.Trigger,{asChild:!0},a),e.createElement(u.Portal,{container:p,forceMount:g},e.createElement(u.Content,{sideOffset:4,collisionPadding:10,...m,ref:t,className:r("okTooltipContent",i)},e.createElement("p",{className:"okTooltipText"},f))))}));function w(n){return function(r){return null!=r.tooltip?e.createElement(E,{content:r.tooltip},n):n}}E.displayName="Tooltip";const k=e.forwardRef(((n,t)=>{const{className:a,label:i,size:o=1,onButtonUp:l,onButtonDown:s,onButtonClick:c,...d}=n,u=w(e.createElement("button",{"data-disabled":d.disabled||void 0,...d,ref:t,className:r("okButton",a,"ok-r-size-"+o),onMouseDown:s,onMouseUp:l,onClick:c},i));return e.createElement(u,{...n})}));k.displayName="Button";var v;b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okIndicator {\r\n /* Layout */\r\n display: inline-flex;\r\n padding: var(--indicator-padding, 6px 12px);\r\n justify-content: flex-start;\r\n align-items: baseline;\r\n gap: 4px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: var(--Light, #fff);\r\n\r\n /* Indicator Icon Style */\r\n svg.okIndicatorIcon {\r\n width: var(--indicator-icon-width, 9px);\r\n height: var(--indicator-icon-height, 9px);\r\n }\r\n\r\n /* Label Style */\r\n .okIndicatorLabel {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n /* TODO: Determine how to get Inter font */\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--indicator-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: var(--indicator-line-height, 12px); /* 100% */\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --indicator-padding: 6px 12px;\r\n --indicator-font-size: 12px;\r\n --indicator-line-height: 12px;\r\n --indicator-icon-width: 9px;\r\n --indicator-icon-height: 9px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --indicator-padding: 10px 18px;\r\n --indicator-font-size: 14px;\r\n --indicator-line-height: 14px;\r\n --indicator-icon-width: 10px;\r\n --indicator-icon-height: 10px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --indicator-padding: 18px 22px;\r\n --indicator-font-size: 20px;\r\n --indicator-line-height: 20px;\r\n --indicator-icon-width: 15px;\r\n --indicator-icon-height: 15px;\r\n }\r\n}\r\n'),function(e){e[e.Up=0]="Up",e[e.Down=1]="Down"}(v||(v={}));const I=d.forwardRef(((e,n)=>{const{direction:r=v.Down,color:t="#343434",...a}=e;return d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"8",viewBox:"0 0 12 8",fill:"none",...a,ref:n},((e,n)=>{let r;return e===v.Up||v.Down,r=d.createElement("path",{d:"M6.75593 7.12713C6.35716 7.58759 5.64284 7.58759 5.24407 7.12713L2.23682 3.65465C1.67594 3.00701 2.136 2 2.99275 2L9.00725 2C9.864 2 10.3241 3.00701 9.76318 3.65465L6.75593 7.12713Z",fill:n}),r})(r,t))}));var N;I.displayName="ChevronIcon",function(e){e[e.Up=0]="Up",e[e.Down=1]="Down"}(N||(N={}));const C=d.forwardRef(((e,n)=>{const{direction:r=N.Down,color:t="#343434",...a}=e;return d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"4",viewBox:"0 0 10 4",fill:"none",...a,ref:n},((e,n)=>{let r;switch(e){case N.Up:r=d.createElement("path",{d:"M5 5.1656e-07L10 4L0 4L5 5.1656e-07Z",fill:n});break;case N.Down:r=d.createElement("path",{d:"M5 4L0 0L10 8.88334e-07L5 4Z",fill:n});break;default:r=d.createElement("path",{d:"M5 5.1656e-07L10 4L0 4L5 5.1656e-07Z",fill:n})}return r})(r,t))}));C.displayName="IndicatorArrowIcon";const T=d.forwardRef(((e,n)=>{const{color:r="#343434",...t}=e;return d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"1",viewBox:"0 0 10 1",fill:"none",...t,ref:n},d.createElement("path",{d:"M8.74228e-08 -8.74228e-07L10 -9.53674e-07L10 1L0 0.999999L8.74228e-08 -8.74228e-07Z",fill:r}))}));T.displayName="IndicatorBarIcon";const z=d.forwardRef(((e,n)=>{const{state:r,color:t="#D0D7DF",colorOnState:a="#44BD84",colorOffState:i="#D0D7DF"}=e;return d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",...e,ref:n},((e,n,r,t)=>{let a;switch(e){case exports.ToggleState.On:a=d.createElement("path",{d:"M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10Z",fill:r});break;case exports.ToggleState.Off:a=d.createElement("path",{d:"M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10Z",fill:t});break;default:a=d.createElement("path",{d:"M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10Z",fill:n})}return a})(r,t,a,i))}));z.displayName="IndicatorStateIcon";const D=d.forwardRef(((e,n)=>{const{state:r,color:t="#343434",colorOnState:a="#44BD84",...i}=e;return d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",...i,ref:n},((e,n,r)=>{let t;switch(e){case exports.ToggleState.On:t=d.createElement(d.Fragment,null,d.createElement("circle",{cx:"7",cy:"7",r:"6",stroke:n,strokeWidth:"2"}),d.createElement("circle",{cx:"7",cy:"7",r:"3",fill:r}));break;case exports.ToggleState.Off:default:t=d.createElement("circle",{cx:"7",cy:"7",r:"6",stroke:n,strokeWidth:"2"})}return t})(r,t,a))}));D.displayName="RadioToggleStateIcon";const L=d.forwardRef(((e,n)=>{const{state:r,color:t="white",colorOnState:a="white",colorOffState:i="white",...o}=e;return d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"8",height:"8",viewBox:"0 0 8 8",fill:"none",...o,ref:n},((e,n,r,t)=>{let a;switch(e){case exports.ToggleState.On:a=d.createElement("circle",{cx:"4",cy:"4",r:"3.75",fill:r});break;case exports.ToggleState.Off:a=d.createElement("circle",{cx:"4",cy:"4",r:"3.75",fill:t});break;default:a=d.createElement("circle",{cx:"4",cy:"4",r:"3.75",fill:n})}return a})(r,t,a,i))}));L.displayName="SwitchToggleStateIcon";const R=e.forwardRef(((n,t)=>{const{className:a,label:i,size:o=1,state:l,...s}=n,c=w(e.createElement("span",{...s,ref:t,className:r("okIndicator",a,"ok-r-size-"+o)},e.createElement(z,{className:"okIndicatorIcon",state:l?exports.ToggleState.On:exports.ToggleState.Off}),e.createElement("span",{className:r("okIndicatorLabel")},i)));return e.createElement(c,{...n})}));R.displayName="Indicator";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okLabel {\r\n /* Layout */\r\n display: inline-flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 4px;\r\n\r\n /* Text Style */\r\n .okLabelText {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 12px; /* 100% */\r\n }\r\n\r\n /* Label Position Left Top*/\r\n &:where(.ok-pos-left-top) {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n }\r\n\r\n /* Label Position Left Bottom*/\r\n &:where(.ok-pos-left-bottom) {\r\n flex-direction: column-reverse;\r\n align-items: flex-start;\r\n }\r\n\r\n /* Label Position Right Top*/\r\n &:where(.ok-pos-right-top) {\r\n flex-direction: column;\r\n align-items: flex-end;\r\n }\r\n\r\n /* Label Position Right Bottom*/\r\n &:where(.ok-pos-right-bottom) {\r\n flex-direction: column-reverse;\r\n align-items: flex-end;\r\n }\r\n}\r\n');const O=e.forwardRef(((n,t)=>{const{className:a,text:i,horizontalPosition:o="left",verticalPosition:l="top",children:s,...c}=n;return e.createElement("div",{...c,ref:t,className:r("okLabel",a,"ok-pos-"+o+"-"+l)},e.createElement("span",{className:r("okLabelText")},i),s)}));O.displayName="Label";b("/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okNumberDisplay {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--number-display-padding, 6px 12px);\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: #f5f5f5;\r\n\r\n /* Content Style */\r\n .okNumberDisplayContent {\r\n display: flex;\r\n padding: var(--spacing-0, 0px);\r\n align-items: center;\r\n justify-content: flex-end;\r\n gap: 8px;\r\n flex: 1 0 0;\r\n }\r\n\r\n /* Text Style */\r\n .okNumberDisplayText {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--number-display-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--number-display-line-height, 12px); /* 100% */\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --number-display-padding: 6px 6px;\r\n --number-display-font-size: 12px;\r\n --number-display-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --number-display-padding: 6px 10px;\r\n --number-display-font-size: 14px;\r\n --number-display-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --number-display-padding: 6px 18px;\r\n --number-display-font-size: 20px;\r\n --number-display-line-height: 20px;\r\n }\r\n}\r\n");const A=e.forwardRef(((n,t)=>{const{className:a,label:i,size:o=1,numeralSystem:l=exports.NumeralSystem.Decimal,decimalScale:s=0,maximumValue:c,minimumValue:d,value:u}=n,f=e.useMemo((()=>{const e=m.ComputeDigitCountFromValue(c,l),n=m.ComputeDigitCountFromValue(d,l);return e>n?e:n}),[c,d,l]),p=e.useMemo((()=>e.createElement("span",{className:r("okNumberDisplayText","ok-r-size-"+o)},"-")),[o]),g=w(e.createElement("div",{ref:t,className:r("okNumberDisplay",a,"ok-r-size-"+o)},e.createElement("div",{className:"okNumberDisplayContent"},u<0n&&p,e.createElement("span",{className:"okNumberDisplayText"},function(e,n,r,t){let a;if(null!=e){const i=e>=0n?e:-e,o=Number(n),l=i.toString(r).padStart(o,"0");if(r===exports.NumeralSystem.Decimal&&t>0){const e=o-t;if(e>0)a=l.slice(0,e)+"."+l.slice(e);else{const n="0.";a=n.padEnd(n.length-e,"0")+l}}else a=l}else a="Error";return a}(u,f,l,s)))));if(null!=i)return e.createElement(O,{...i},e.createElement("div",{style:{width:"100%"}},e.createElement(g,{...n})));e.createElement(g,{...n})}));A.displayName="NumberDisplay";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okNumberEntry {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--number-entry-padding, 6px);\r\n justify-content: flex-end;\r\n align-items: center;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--brand-12, #44bd84);\r\n background: var(--Light, #fff);\r\n\r\n /* Content Style */\r\n .okNumberEntryContent {\r\n display: flex;\r\n height: auto; /*32px;*/\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: var(--spacing-0, 0px);\r\n align-self: stretch;\r\n }\r\n\r\n /* Text Style */\r\n .okNumberEntryText {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--number-entry-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--number-entry-line-height, 12px); /* 100% */\r\n letter-spacing: 1.26px;\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --number-entry-padding: 1px 6px;\r\n --number-entry-font-size: 12px;\r\n --number-entry-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --number-entry-padding: 1px 10px;\r\n --number-entry-font-size: 14px;\r\n --number-entry-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --number-entry-padding: 1px 18px;\r\n --number-entry-font-size: 20px;\r\n --number-entry-line-height: 20px;\r\n }\r\n}\r\n\r\n.okNumberEntry[data-disabled="true"] {\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n opacity: 0.5;\r\n background: var(--Gray-3, #e7ebef);\r\n\r\n pointer-events: none;\r\n}\r\n');b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okDigitEntry {\r\n /* Layout */\r\n display: inline-flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 1px;\r\n\r\n /* Content Style */\r\n .okDigitEntryContent {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--spacing-xxs, 2px);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n /* Style */\r\n border-radius: 1px;\r\n\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--digit-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--digit-line-height, 12px); /* 200% */\r\n letter-spacing: 1.26px;\r\n text-transform: uppercase;\r\n }\r\n\r\n /* Increment Indicator Style */\r\n .okDigitEntryIncrementIndicator {\r\n visibility: hidden;\r\n }\r\n\r\n /* Decrement Indicator Style */\r\n .okDigitEntryDecrementIndicator {\r\n visibility: hidden;\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --digit-font-size: 12px;\r\n --digit-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --digit-font-size: 14px;\r\n --digit-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --digit-font-size: 20px;\r\n --digit-line-height: 20px;\r\n }\r\n}\r\n\r\ndiv.okDigitEntry:focus {\r\n /* Layout */\r\n display: inline-flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 1px;\r\n\r\n /* Style */\r\n outline: none;\r\n overscroll-behavior: none;\r\n\r\n /* Content Style */\r\n .okDigitEntryContent {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--spacing-xxs, 2px);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n /* Style */\r\n border-radius: 1px;\r\n background: var(--brand-12, #44bd84);\r\n\r\n /* Typography */\r\n color: var(--Light, #fff);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--digit-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--digit-line-height, 12px); /* 200% */\r\n letter-spacing: 1.26px;\r\n }\r\n\r\n .okDigitEntryIncrementIndicator {\r\n visibility: visible;\r\n }\r\n\r\n .okDigitEntryDecrementIndicator {\r\n visibility: visible;\r\n }\r\n\r\n .okDigitEntryIncrementIndicator[data-enabled="false"] {\r\n opacity: 0.25;\r\n }\r\n\r\n .okDigitEntryDecrementIndicator[data-enabled="false"] {\r\n opacity: 0.25;\r\n }\r\n}\r\n');const B=n=>{const t=e.useRef(null),{className:a,variant:i="standard",size:o=1,value:l,maximum:s,minimum:c,numeralSystem:d=exports.NumeralSystem.Decimal,onValueChanged:u}=n,f=e.useRef(l);f.current=n.value;const p=e.useRef(u);p.current=u;e.useEffect((()=>{const e=e=>{e.deltaY<0?(p.current?.(f.current+1,!1),e.stopPropagation(),e.preventDefault()):e.deltaY>0&&(p.current?.(f.current-1,!1),e.stopPropagation(),e.preventDefault())};return t.current?.addEventListener("wheel",e,{passive:!1}),()=>{t.current?.removeEventListener("wheel",e)}}),[t]);const g=null==s||l<s,m=null==c||l>c;return e.createElement("div",{className:r("okDigitEntry",a,"ok-r-size-"+o),ref:t,tabIndex:-1,onMouseEnter:e=>e.currentTarget.focus(),onMouseLeave:e=>e.currentTarget.blur(),onKeyDown:e=>{let n=!1;switch(e.key){case"ArrowUp":u?.(l+1,!1),n=!0;break;case"ArrowDown":u?.(l-1,!1),n=!0;break;case"ArrowRight":{const r=e.currentTarget.nextElementSibling;r?.focus(),n=!0}break;case"ArrowLeft":{const r=e.currentTarget.previousElementSibling;r?.focus(),n=!0}break;default:n=!1}if(n)e.stopPropagation(),e.preventDefault();else{const n=parseInt(e.key,d);if(!Number.isNaN(n)){u?.(n,!0);const r=e.currentTarget.nextElementSibling;r?.focus()}}}},e.createElement((()=>{let n;switch(i){case"standard":n=e.createElement(C,{className:r("okDigitEntryIncrementIndicator"),direction:N.Up,color:"#343434","data-enabled":g});break;case"compact":n=e.createElement(T,{className:r("okDigitEntryIncrementIndicator"),color:"#343434","data-enabled":g});break;default:n=null}return n}),null),e.createElement("div",{className:r("okDigitEntryContent","ok-r-size-"+o)},Math.abs(l).toString(Number(d))),e.createElement((()=>{let n;switch(i){case"standard":n=e.createElement(C,{className:r("okDigitEntryDecrementIndicator"),direction:N.Down,color:"#343434","data-enabled":m});break;case"compact":n=e.createElement(T,{className:r("okDigitEntryDecrementIndicator"),color:"#343434","data-enabled":m});break;default:n=null}return n}),null))};B.displayName="DigitEntry";const V=n=>{const{variant:t="standard",size:a=1,numeralSystem:i,decimalScale:o=0,digitStates:l,onDigitStatesChange:s}=n;return e.createElement(e.Fragment,null,(()=>{const n=l.map(((n,r)=>e.createElement(B,{key:"digit-"+n.id,variant:t,size:a,numeralSystem:i,value:n.value,maximum:n.maximum,minimum:n.minimum,onValueChanged:(e,n)=>{const t=[...l];t[r]={...l[r],value:e},s?.(t,n)}})));if(i===exports.NumeralSystem.Decimal&&o>0){const t=o-n.length;if(t<0)n.splice(o,0,e.createElement("span",{key:"digit-decimal-point",className:r("okNumberEntryText","ok-r-size-"+a)},"."));else{const i="0.",o=i.padEnd(i.length+t,"0");n.push(e.createElement("span",{key:"digit-decimal-prefix",className:r("okNumberEntryText","ok-r-size-"+a)},o))}}return n.reverse()})())};V.displayName="NumberEntryDigits";const F=e.forwardRef(((n,r)=>{const{label:t,tooltip:a,...i}=n,o=null!=t,l=null!=a;return o&&l?e.createElement(O,{...t},e.createElement(E,{content:a},e.createElement("div",{style:{width:"100%"}},e.createElement(P,{ref:r,...i})))):o?e.createElement(O,{...t},e.createElement("div",{style:{width:"100%"}},e.createElement(P,{ref:r,...i}))):l?e.createElement(E,{content:a},e.createElement("div",null,e.createElement(P,{ref:r,...i}))):e.createElement(P,{ref:r,...i})}));F.displayName="NumberEntry";const P=e.forwardRef(((n,t)=>{const{className:a,variant:i="standard",size:o=1,disabled:l=!1,numeralSystem:s=exports.NumeralSystem.Decimal,decimalScale:c=0,maximumValue:d,minimumValue:u,value:f,onValueChange:p}=n,g=e.useMemo((()=>{const e=m.ComputeDigitCountFromValue(d,s),n=m.ComputeDigitCountFromValue(u,s);return Number(e>n?e:n)}),[d,u,s]),h=BigInt(s),y=G(f,d,u,h,g);return e.createElement("div",{ref:t,className:r("okNumberEntry",a,"ok-r-size-"+o),"data-disabled":l||void 0},e.createElement("div",{className:"okNumberEntryContent"},f<0n&&(n=>e.createElement("span",{className:r("okNumberEntryText","ok-r-size-"+n)},"-"))(o),e.createElement(V,{variant:i,size:o,numeralSystem:s,decimalScale:c,digitStates:y,onDigitStatesChange:(e,n)=>{let r=j(e,h);r>=0n!=f>=0n&&0n!==r&&(r+=2n*-f),r<=d&&r>=u&&p?.(r)}})))}));P.displayName="NumberEntryImpl";const j=(e,n)=>{const r=e.length-1;let t=BigInt(e[r].value);for(let a=r-1;a>=0;a--)t=t*n+BigInt(e[a].value);return t},G=(e,n,r,t,a)=>{const i=[];let o=e,l=n-e,s=r-e;for(let e=0;e<a;e++){const n=Number(o%t),r=Math.floor(Number(l+BigInt(n))),a=Math.ceil(Number(s+BigInt(n)));i[e]={id:e,value:n,maximum:M(r,Number(t)),minimum:M(a,Number(t))},o/=t,l/=t,s/=t}return i},M=(e,n)=>{let r;return r=e>=0?e<n?e:void 0:e>-n?e:void 0,r};b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okRangeSlider {\r\n --range-slider-thumb-outline-size: 2px;\r\n --range-slider-thumb-border-size: 2px;\r\n --range-slider-thumb-size: 22px;\r\n --range-slider-track-size: 8px;\r\n\r\n /* Layout */\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n gap: 4px;\r\n align-self: stretch;\r\n width: 100%;\r\n height: fit-content;\r\n\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: right;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 12px; /* 100% */\r\n}\r\n\r\n/* State Disabled */\r\n.okRangeSlider[data-disabled="true"] {\r\n opacity: 0.5;\r\n}\r\n\r\n.okRangeSliderLabel {\r\n width: 100%;\r\n}\r\n\r\n.okRangeSliderRoot {\r\n /* Layout */\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n height: var(--range-slider-thumb-size);\r\n min-width: 100px;\r\n\r\n /* Style */\r\n user-select: none;\r\n touch-action: none;\r\n}\r\n\r\n.okRangeSliderTrack {\r\n /* Layout */\r\n position: relative;\r\n flex-grow: 1;\r\n height: var(--range-slider-track-size);\r\n\r\n /* Style */\r\n background: var(--Gray-2, #d0d7df);\r\n border-radius: 9999px;\r\n}\r\n\r\n.okRangeSliderRange {\r\n /* Layout */\r\n position: absolute;\r\n height: 100%;\r\n\r\n /* Style */\r\n background-color: #44bd84;\r\n border-radius: inherit;\r\n}\r\n\r\n.okRangeSliderThumb {\r\n /* Layout */\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: calc(\r\n var(--range-slider-thumb-size) -\r\n (2 * (var(--range-slider-thumb-border-size) + var(--range-slider-thumb-outline-size)))\r\n );\r\n height: calc(\r\n var(--range-slider-thumb-size) -\r\n (2 * (var(--range-slider-thumb-border-size) + var(--range-slider-thumb-outline-size)))\r\n );\r\n\r\n /* Style */\r\n background: var(--Base-White, #fff);\r\n border: var(--range-slider-thumb-border-size) solid var(--brand-12, #44bd84);\r\n border-radius: var(--range-slider-thumb-size);\r\n}\r\n\r\n.okRangeSliderThumb:hover {\r\n background-color: #44bd84;\r\n}\r\n\r\n.okRangeSliderThumb:focus {\r\n outline: none;\r\n box-shadow: 0 0 0 var(--range-slider-thumb-outline-size) #d0d7df;\r\n}\r\n\r\n.okRangeSliderThumbLabel {\r\n /* Layout */\r\n position: absolute;\r\n bottom: -14px;\r\n}\r\n');const W=e.forwardRef(((n,r)=>{const{label:t,tooltip:a,...i}=n,o=null!=t,l=null!=a;return o&&l?e.createElement(O,{className:"okRangeSliderLabel",...t},e.createElement(E,{content:a},e.createElement("div",{style:{width:"100%"}},e.createElement(_,{ref:r,...i})))):o?e.createElement(O,{className:"okRangeSliderLabel",...t},e.createElement("div",{style:{width:"100%"}},e.createElement(_,{ref:r,...i}))):l?e.createElement(E,{content:a},e.createElement("div",{style:{width:"100%"}},e.createElement(_,{ref:r,...i}))):e.createElement(_,{ref:r,...i})}));W.displayName="RangeSlider";const _=e.forwardRef(((n,t)=>{const{className:a,tooltip:i,minimumValue:o=0,maximumValue:l=100,onValueChange:s,defaultValue:c=o,value:d,valueStep:u=1,showThumbLabel:p=!0,showTrackLabels:g=!0,disabled:m=!1}=n,h=d??c,[y,x]=e.useState([h]);e.useEffect((()=>{x([h])}),[h]);const b=e.useCallback((e=>{x([e]),s?.(e)}),[s]),S=()=>e.createElement(f.Track,{className:"okRangeSliderTrack"},e.createElement(f.Range,{className:"okRangeSliderRange"})),w=null!=i;return e.createElement("div",{className:r("okRangeSlider",a),"data-disabled":m||void 0},g?e.createElement("span",null,o):null,e.createElement(f.Root,{ref:t,min:o,max:l,step:u,value:y,onValueChange:e=>b(e[0]),orientation:"horizontal",className:"okRangeSliderRoot",disabled:m},w?e.createElement(E,{content:i},e.createElement(S,null)):e.createElement(S,null),e.createElement(f.Thumb,{className:"okRangeSliderThumb"},p?e.createElement("div",{className:"okRangeSliderThumbLabel"},y):null)),g?e.createElement("span",null,l):null)}));_.displayName="RangeSliderImpl";const U=e.createContext({label:{text:"",horizontalPosition:"right",verticalPosition:"top"},size:1,value:void 0}),K=n=>{const{label:r,children:t,size:a=1,tooltip:i,value:o,...l}=n;return e.createElement(p.Root,{value:o,...l},e.createElement(U.Provider,{value:e.useMemo((()=>({label:r,size:a,tooltip:i,value:o})),[r,a,i,o])},t))};K.displayName="SelectEntryRoot";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryContent {\r\n /* Layout */\r\n width: var(--radix-select-trigger-width);\r\n max-height: var(--radix-select-content-available-height);\r\n display: flex;\r\n padding: 10px 18px;\r\n flex-direction: column;\r\n overflow: hidden;\r\n justify-content: center;\r\n align-items: stretch;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: var(--Light, #fff);\r\n box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.24);\r\n\r\n .okSelectEntryContentInner {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n }\r\n\r\n /* ScrollArea Root Style */\r\n .okScrollArea {\r\n display: flex;\r\n flex-direction: column;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n /* ScrollArea Viewport Style */\r\n .okScrollAreaViewport {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n gap: 10px;\r\n\r\n /* Stop Chrome back/forward two-finger swipe */\r\n overscroll-behavior-x: contain;\r\n\r\n &:where(:focus-visible) + :where(.rt-ScrollAreaViewportFocusRing) {\r\n position: absolute;\r\n inset: 0;\r\n pointer-events: none;\r\n outline: 2px solid var(--focus-8);\r\n outline-offset: -2px;\r\n }\r\n }\r\n\r\n /* ScrollArea Scrollbar Style */\r\n .okScrollAreaScrollbar {\r\n display: flex;\r\n /* Ensures no selection */\r\n user-select: none;\r\n /* Disable browser handling of all panning and zooming gestures on touch devices */\r\n touch-action: none;\r\n\r\n &:where([data-orientation="vertical"]) {\r\n flex-direction: column;\r\n width: 4px;\r\n }\r\n &:where([data-orientation="horizontal"]) {\r\n flex-direction: row;\r\n height: 4px;\r\n }\r\n }\r\n\r\n /* ScrollArea Thumb Style */\r\n .okScrollAreaThumb {\r\n position: relative;\r\n\r\n &::before {\r\n content: "";\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n width: 100%;\r\n height: 100%;\r\n min-width: var(--space-4);\r\n min-height: var(--space-4);\r\n }\r\n }\r\n}\r\n');const Q=e.forwardRef(((n,t)=>{const{className:a,children:i,container:o,...l}=n,{size:s}=e.useContext(U);return e.createElement(p.Portal,{container:o},e.createElement(p.Content,{sideOffset:4,...l,ref:t,className:r("okSelectEntryContent",a,"ok-r-size-"+s),position:"popper",align:"start"},e.createElement(g.Root,{type:"auto",className:"okScrollArea"},e.createElement(p.Viewport,{asChild:!0},e.createElement(g.Viewport,{className:"okScrollAreaViewport"},e.createElement("div",{className:"okSelectEntryContentInner"},i))),e.createElement(g.Scrollbar,{className:"okScrollAreaScrollbar",orientation:"vertical"},e.createElement(g.Thumb,{className:"okScrollAreaThumb"})))))}));Q.displayName="SelectEntryContent";b("/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryGroup {\r\n /* Layout */\r\n display: flex;\r\n padding: 0px;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n align-self: stretch;\r\n gap: 10px;\r\n}\r\n");const X=e.forwardRef(((n,t)=>e.createElement(p.Group,{...n,ref:t,className:r("okSelectEntryGroup",n.className)})));X.displayName="SelectEntryGroup";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryItem {\r\n /* Layout */\r\n display: flex;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n /* Style */\r\n color: var(--Dark, #343434);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 14px; /* 100% */\r\n\r\n /* Indicator Style */\r\n .okSelectEntryItemIndicator {\r\n width: 14px;\r\n height: 14px;\r\n }\r\n}\r\n\r\n.okSelectEntryItem[data-disabled] {\r\n opacity: 0.5;\r\n pointer-events: none;\r\n}\r\n.okSelectEntryItem[data-highlighted] {\r\n outline: none;\r\n}\r\n');const Y=e.forwardRef(((n,t)=>{const{className:a,children:i,...o}=n,{size:l,value:s}=e.useContext(U);return e.createElement(p.Item,{...o,ref:t,className:r("okSelectEntryItem",a,"ok-r-size-"+l)},e.createElement(D,{state:s===n.value?exports.ToggleState.On:exports.ToggleState.Off}),e.createElement(p.ItemText,null,i))}));Y.displayName="SelectEntryItem";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryLabel {\r\n /* Typography */\r\n color: var(--Gray-1, #989da3);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 10px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 12px; /* 120% */\r\n}\r\n');const Z=e.forwardRef(((n,t)=>{const{className:a,...i}=n,{size:o}=e.useContext(U);return e.createElement(p.Label,{...i,ref:t,className:r("okSelectEntryLabel",a,"ok-r-size-"+o)})}));Z.displayName="SelectEntryLabel";b("/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntrySeparator {\r\n height: 1px;\r\n\r\n background: #d0d7df;\r\n}\r\n");const q=e.forwardRef(((n,t)=>e.createElement(p.Separator,{...n,ref:t,className:r("okSelectEntrySeparator",n.className)})));q.displayName="SelectEntrySeparator";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryTrigger {\r\n /* Layout */\r\n display: flex;\r\n padding: 0px 18px;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: 8px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: var(--Light, #fff);\r\n\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 14px; /* 100% */\r\n\r\n /* State Disabled */\r\n &:is(:disabled) {\r\n opacity: 0.5;\r\n background: var(--Gray-3, #e7ebef);\r\n }\r\n}\r\n\r\n.okSelectEntryTriggerInner {\r\n /* Layout */\r\n padding: 10px 0px;\r\n\r\n /* Style */\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n}\r\n\r\n/* State Disabled */\r\n.okSelectEntryTrigger[data-disabled="true"] {\r\n opacity: 0.5;\r\n}\r\n');const H=e.forwardRef(((n,r)=>{const{label:t,tooltip:a,...i}=e.useContext(U),o=null!=t,l=null!=a;return o&&l?e.createElement(O,{...t},e.createElement(E,{content:a},e.createElement(J,{ref:r,...n,style:{width:"100%"}}))):o?e.createElement(O,{...t},e.createElement(J,{ref:r,...i,style:{width:"100%"}})):l?e.createElement(E,{content:a},e.createElement("div",null,e.createElement(J,{ref:r,...i}))):e.createElement(J,{ref:r,...i})}));H.displayName="SelectEntryTrigger";const J=e.forwardRef(((n,t)=>{const{className:a,placeholder:i,...o}=n,{size:l}=e.useContext(U);return e.createElement(p.Trigger,{asChild:!0},e.createElement("button",{...o,ref:t,className:r("okSelectEntryTrigger",a,"ok-r-size-"+l)},e.createElement("span",{className:"okSelectEntryTriggerInner"},e.createElement(p.Value,{placeholder:i})),e.createElement(p.Icon,{asChild:!0},e.createElement(I,{direction:v.Down}))))}));J.displayName="SelectEntryTriggerImpl";const $=Object.assign({},{Root:K,Trigger:H,Content:Q,Item:Y,Group:X,Label:Z,Separator:q});b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okToggle {\r\n /* Layout */\r\n display: inline-flex;\r\n padding: var(--toggle-padding, 6px 12px);\r\n justify-content: center;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n color: var(--base-white, #fff);\r\n\r\n /* Style */\r\n border-width: 0px;\r\n border-radius: 4px;\r\n background: var(--brand-12, #44bd84);\r\n\r\n /* Typography */\r\n color: var(--Base-White, #fff);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--toggle-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 600;\r\n line-height: 12px; /* 100% */\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --toggle-padding: 6px 12px;\r\n --toggle-font-size: 12px;\r\n --toggle-line-height: 12px;\r\n }\r\n\r\n /* Size 2 */\r\n &:where(.ok-r-size-2) {\r\n --toggle-padding: 10px 18px;\r\n --toggle-font-size: 14px;\r\n --toggle-line-height: 14px;\r\n }\r\n\r\n /* Size 3 */\r\n &:where(.ok-r-size-3) {\r\n --toggle-padding: 18px 22px;\r\n --toggle-font-size: 20px;\r\n --toggle-line-height: 20px;\r\n }\r\n}\r\n\r\n/* State Disabled */\r\n.okToggle[data-disabled="true"] {\r\n background: var(--Gray-2, #d0d7df);\r\n}\r\n\r\n/* State On */\r\n.okToggle[data-state="on"]:not([data-disabled="true"]) {\r\n background: #329466;\r\n}\r\n\r\n/* State Off */\r\n.okToggle[data-state="off"]:not([data-disabled="true"]) {\r\n background: var(--brand-12, #44bd84);\r\n}\r\n');const ee=e.forwardRef(((n,t)=>{const{className:a,size:i=1,disabled:o=!1,tooltip:l,state:s,children:c,onToggleStateChanged:d,...u}=n,f=e.useMemo((()=>{switch(s){case exports.ToggleState.On:return"on";case exports.ToggleState.Off:return"off";default:return"indeterminate"}}),[s]),p=e.useCallback((()=>{const e=s===exports.ToggleState.On?exports.ToggleState.Off:exports.ToggleState.On;d?.(e)}),[s]);return e.createElement("button",{"data-disabled":o||void 0,ref:t,...u,className:r("okToggle",a,"ok-r-size-"+i),"data-state":f,onClick:p},c)}));ee.displayName="Toggle";b('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okToggleSwitchRoot {\r\n /* Layout */\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n\r\n /* Switch Style */\r\n .okToggleSwitch {\r\n /* Layout */\r\n display: flex;\r\n width: var(--toggle-switch-width, 16.5px);\r\n height: var(--toggle-switch-height, 9px);\r\n padding: var(--toggle-switch-padding, 0.75px);\r\n align-items: center;\r\n\r\n /* Style */\r\n border-width: 0px;\r\n border-radius: var(--toggle-switch-border-radius, 4.5px);\r\n background: var(--Gray-2, #d0d7df);\r\n\r\n /* Switch Icon Style */\r\n .okIndicatorIcon {\r\n width: var(--toggle-switch-icon-width, 9px);\r\n height: var(--toggle-switch-icon-height, 9px);\r\n }\r\n }\r\n\r\n /* Label Style */\r\n .okToggleSwitchLabel {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--toggle-switch-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: var(--toggle-switch-line-height, 12px); /* 100% */\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --toggle-switch-width: 16.5px;\r\n --toggle-switch-height: 9px;\r\n\r\n --toggle-switch-padding: 0.75px;\r\n --toggle-switch-border-radius: 4.5px;\r\n\r\n --toggle-switch-font-size: 12px;\r\n --toggle-switch-line-height: 12px;\r\n\r\n --toggle-switch-icon-width: 7.5px;\r\n --toggle-switch-icon-height: 7.5px;\r\n }\r\n\r\n /* Sizes 2*/\r\n &:where(.ok-r-size-2) {\r\n --toggle-switch-width: 18.333px;\r\n --toggle-switch-height: 10px;\r\n\r\n --toggle-switch-padding: 0.883px;\r\n --toggle-switch-border-radius: 5px;\r\n\r\n --toggle-switch-font-size: 14px;\r\n --toggle-switch-line-height: 14px;\r\n\r\n --toggle-switch-icon-width: 8.33px;\r\n --toggle-switch-icon-height: 8.33px;\r\n }\r\n\r\n /* Sizes 3*/\r\n &:where(.ok-r-size-3) {\r\n --toggle-switch-width: 27.5px;\r\n --toggle-switch-height: 15px;\r\n\r\n --toggle-switch-padding: 1.25px;\r\n --toggle-switch-border-radius: 7.5px;\r\n\r\n --toggle-switch-font-size: 20px;\r\n --toggle-switch-line-height: 20px;\r\n\r\n --toggle-switch-icon-width: 12.5px;\r\n --toggle-switch-icon-height: 12.5px;\r\n }\r\n}\r\n\r\n/* State Disabled */\r\n.okToggleSwitchRoot[data-disabled="true"] {\r\n opacity: 0.5;\r\n}\r\n\r\n/* State On */\r\n.okToggleSwitch[data-state="on"] {\r\n justify-content: flex-end;\r\n}\r\n\r\n.okToggleSwitch[data-state="on"]:not([data-disabled="true"]) {\r\n background: var(--brand-12, #44bd84);\r\n}\r\n\r\n/* State Off */\r\n.okToggleSwitch[data-state="off"] {\r\n justify-content: flex-start;\r\n}\r\n\r\n.okToggleSwitch[data-state="off"]:not([data-disabled="true"]) {\r\n background: var(--Gray-2, #d0d7df);\r\n}\r\n');const ne=e.forwardRef(((n,t)=>{const{className:a,size:i=1,label:o,disabled:l=!1,state:s,...c}=n,d=w(e.createElement("span",{className:r("okToggleSwitchRoot",a,"ok-r-size-"+i),"data-disabled":l||void 0},e.createElement(ee,{className:r("okToggleSwitch"),ref:t,...c,size:i,disabled:l,state:s},e.createElement(L,{className:"okIndicatorIcon",state:s})),e.createElement("span",{className:r("okToggleSwitchLabel")},o)));return e.createElement(d,{...n})}));ne.displayName="ToggleSwitch";const re=e.forwardRef(((n,r)=>{const[t,a]=e.useState(n.minimumValue??0n),{device:i,workQueue:l}=e.useContext(y),{maximumValue:s,minimumValue:c,fpEndpoint:d,disabled:u,...f}=n,p=e.useMemo((()=>void 0!==c?function(e,n,r){let t;t=e<r?r:e>n?n:e;return t}(c,s,0n):0n),[c,s]),g=e.useMemo((()=>h(s)),[s]),m=(1n<<BigInt(g))-1n<<BigInt(d.bitOffset),x=e.useCallback((e=>{if(null!=e&&null!=l){let n=e.getWireInValue(d.epAddress),r=0xffffffffn&m,t=(BigInt(n)&r)>>BigInt(d.bitOffset);if(m>0xffffffffn){let a=32n-BigInt(d.bitOffset),i=m>>32n;for(let l=d.epAddress+1;l<=o.WIREIN_ADDRESS_RANGE.maximum&&i>0n;l++)n=e.getWireInValue(l),r=0xffffffffn&i,t|=(BigInt(n)&r)<<a,a+=32n,i>>=32n}a(t)}else a(0n)}),[l,d,m]);e.useEffect((()=>{x(i)}),[i,x]);const b=e.useCallback((async e=>{null!=i&&null!=l&&await l.post((async()=>{let n=0xffffffffn&m,r=Number(e<<BigInt(d.bitOffset)&n);if(i.setWireInValue(d.epAddress,r,Number(n)),m>0xffffffffn){let t=32n-BigInt(d.bitOffset),a=m>>32n;for(let l=d.epAddress+1;l<=o.WIREIN_ADDRESS_RANGE.maximum&&a>0n;l++)n=0xffffffffn&a,r=Number(e>>t&n),i.setWireInValue(l,r,Number(n)),t+=32n,a>>=32n}await i.updateWireIns()})),x(i)}),[i,l,d,m,x]);return e.createElement(F,{...f,ref:r,disabled:u||null===i,maximumValue:s,minimumValue:p,value:t,onValueChange:b})}));re.displayName="FrontPanelNumberEntry";b("");const te=e.forwardRef(((n,r)=>{const[t,a]=e.useState(0n),{device:i,workQueue:l,eventSource:s}=e.useContext(y),{maximumValue:c,fpEndpoint:d,...u}=n,f=e.useMemo((()=>h(c)),[c]),p=(1n<<BigInt(f))-1n<<BigInt(d.bitOffset),g=e.useCallback((e=>{if(null!=e&&null!=l){let n=e.getWireOutValue(d.epAddress),r=0xffffffffn&p,t=(BigInt(n)&r)>>BigInt(d.bitOffset);if(p>0xffffffffn){let a=32n-BigInt(d.bitOffset),i=p>>32n;for(let l=d.epAddress+1;l<=o.WIREOUT_ADDRESS_RANGE.maximum&&i>0n;l++)n=e.getWireOutValue(l),r=0xffffffffn&i,t|=(BigInt(n)&r)<<a,a+=32n,i>>=32n}a(t)}else a(0n)}),[l,d,p]);return e.useEffect((()=>{g(i);const e=s?.wireOutValuesChangedEvent.subscribe(g);return()=>{e?.cancel()}}),[i,s,g]),e.createElement(A,{...u,ref:r,maximumValue:c,minimumValue:0n,value:t})}));te.displayName="FrontPanelNumberDisplay";const ae=e.forwardRef(((n,r)=>{const[t,a]=e.useState(!1),{device:i,workQueue:o,eventSource:l}=e.useContext(y),{fpEndpoint:s,...c}=n,d=1<<s.bitOffset,u=e.useCallback((e=>{if(null!=e&&null!=o){const n=e.getWireOutValue(s.epAddress);a((n&d)===d)}else a(!1)}),[o,s,d]);return e.useEffect((()=>{u(i);const e=l?.wireOutValuesChangedEvent.subscribe(u);return()=>{e?.cancel()}}),[i,l,u]),e.createElement(R,{...c,ref:r,state:t})}));ae.displayName="FrontPanelIndicator";const ie=e.forwardRef(((n,r)=>{const{device:t,workQueue:a}=e.useContext(y),{fpEndpoint:i,disabled:o,...l}=n,s=1<<i.bitOffset,c=e.useCallback((async()=>{null!=t&&null!=a&&await a.post((async()=>{t.setWireInValue(i.epAddress,0,s),await t.updateWireIns()}))}),[t,a,i,s,a]),d=e.useCallback((async()=>{null!=t&&null!=a&&await a.post((async()=>{t.setWireInValue(i.epAddress,4294967295,s),await t.updateWireIns()}))}),[t,a,i,s,a]);return e.createElement(k,{...l,ref:r,disabled:o||null==t,onButtonUp:c,onButtonDown:d})}));ie.displayName="FrontPanelPushButton";const oe=e.forwardRef(((n,r)=>{const[t,a]=e.useState(exports.ToggleState.Off),{device:i,workQueue:o}=e.useContext(y),{fpEndpoint:l,disabled:s,...c}=n,d=1<<l.bitOffset,u=e.useCallback((e=>{if(null!=e&&null!=o){const n=(e.getWireInValue(l.epAddress)&d)===d?exports.ToggleState.On:exports.ToggleState.Off;a(n)}else a(exports.ToggleState.Off)}),[o,l,d]),f=e.useCallback((async e=>{null!=i&&null!=o&&await o.post((async()=>{const n=e===exports.ToggleState.On?4294967295:0;i.setWireInValue(l.epAddress,n,d),await i.updateWireIns()})),u(i)}),[i,o,l,d]);return e.useEffect((()=>{u(i)}),[i,u]),e.createElement(ne,{ref:r,...c,disabled:s||null==i,state:t,onToggleStateChanged:f})}));oe.displayName="FrontPanelToggleSwitch";b("");const le=e.forwardRef(((n,r)=>{const{device:t,workQueue:a}=e.useContext(y),{fpEndpoint:i,disabled:o,...l}=n,s=e.useCallback((async()=>{null!=t&&null!=a&&await a.post((async()=>{await t.activateTriggerIn(i.epAddress,i.bitOffset)}))}),[t,a,i]);return e.createElement(k,{...l,ref:r,disabled:o||null==t,onButtonDown:s})}));le.displayName="FrontPanelTriggerButton";const se=e.forwardRef(((n,r)=>{const[t,a]=e.useState(0n),{device:i,workQueue:o}=e.useContext(y),{fpEndpoint:l,maximumValue:s,disabled:c,...d}=n,u=e.useMemo((()=>h(BigInt(s))),[s]),f=(1n<<BigInt(u))-1n<<BigInt(l.bitOffset),p=e.useCallback((e=>{if(null!=e&&null!=o){const n=e.getWireInValue(l.epAddress),r=(BigInt(n)&f)>>BigInt(l.bitOffset);a(r)}else a(0n)}),[o,l,f]),g=e.useCallback((e=>{null!=i&&null!=o&&o.post((async()=>{i.setWireInValue(l.epAddress,e<<l.bitOffset,Number(f)),await i.updateWireIns()}))}),[i,o,l,o,f]);return e.useEffect((()=>{p(i)}),[i,p]),e.createElement(W,{...d,ref:r,disabled:c||null==i,defaultValue:Number(t),maximumValue:s,onValueChange:g})}));se.displayName="FrontPanelRangeSlider";const ce=n=>{const[r,t]=e.useState(0n),{device:a,workQueue:i}=e.useContext(y),{fpEndpoint:l,maximumValue:s,disabled:c,...d}=n,u=e.useMemo((()=>h(s)),[s]),f=(1n<<BigInt(u))-1n<<BigInt(l.bitOffset),p=e.useCallback((e=>{if(null!=e&&null!=i){let n=e.getWireInValue(l.epAddress),r=0xffffffffn&f,a=(BigInt(n)&r)>>BigInt(l.bitOffset);if(f>0xffffffffn){let t=32n-BigInt(l.bitOffset),i=f>>32n;for(let s=l.epAddress+1;s<=o.WIREIN_ADDRESS_RANGE.maximum&&i>0n;s++)n=e.getWireInValue(s),r=0xffffffffn&i,a|=(BigInt(n)&r)<<t,t+=32n,i>>=32n}t(a)}else t(0n)}),[i,l,f]),g=e.useCallback((e=>{if(null!=a&&null!=i){const n=BigInt(e);i.post((async()=>{let e=0xffffffffn&f,r=Number(n<<BigInt(l.bitOffset)&e);if(a.setWireInValue(l.epAddress,r,Number(e)),f>0xffffffffn){let t=32n-BigInt(l.bitOffset),i=f>>32n;const o=32-l.epAddress;for(let s=1;s<o&&i>0n;s++)e=0xffffffffn&i,r=Number(n>>t&e),a.setWireInValue(l.epAddress+s,r,Number(e)),t+=32n,i>>=32n}await a.updateWireIns()}))}p(a)}),[a,i,l,p]);return e.useEffect((()=>{p(a)}),[a,p]),e.createElement($.Root,{...d,disabled:c||null==a,value:r.toString(),onValueChange:g})};ce.displayName="FrontPanelSelectEntryRoot";const de=Object.assign({},{Root:ce,Trigger:H,Content:Q,Item:Y,Group:X,Label:Z,Separator:q});exports.Application=S,exports.Button=k,exports.CalculateBitLength=h,exports.FrontPanel=x,exports.FrontPanelContext=y,exports.FrontPanelIndicator=ae,exports.FrontPanelNumberDisplay=te,exports.FrontPanelNumberEntry=re,exports.FrontPanelPushButton=ie,exports.FrontPanelRangeSlider=se,exports.FrontPanelSelectEntry=de,exports.FrontPanelSelectEntryRoot=ce,exports.FrontPanelToggleSwitch=oe,exports.FrontPanelTriggerButton=le,exports.Indicator=R,exports.Label=O,exports.NumberDisplay=A,exports.NumberEntry=F,exports.NumericDigits=m,exports.RangeSlider=W,exports.SelectEntry=$,exports.SelectEntryContent=Q,exports.SelectEntryGroup=X,exports.SelectEntryItem=Y,exports.SelectEntryLabel=Z,exports.SelectEntryRoot=K,exports.SelectEntrySeparator=q,exports.SelectEntryTrigger=H,exports.Toggle=ee,exports.ToggleSwitch=ne,exports.Tooltip=E;
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/core/Types.ts","../../src/core/Numeric.ts","../../src/core/Binary.ts","../../src/contexts/FrontPanelContext.ts","../../src/components/FrontPanel/FrontPanel.tsx","../../node_modules/style-inject/dist/style-inject.es.js","../../src/primitives/Application/Application.tsx","../../src/primitives/Tooltip/Tooltip.tsx","../../src/primitives/TooltipUtility.tsx","../../src/primitives/Button/Button.tsx","../../src/components/Icons/ChevronIcon.tsx","../../src/components/Icons/IndicatorArrowIcon.tsx","../../src/components/Icons/IndicatorBarIcon.tsx","../../src/components/Icons/IndicatorStateIcon.tsx","../../src/components/Icons/RadioToggleStateIcon.tsx","../../src/components/Icons/SwitchToggleStateIcon.tsx","../../src/primitives/Indicator/Indicator.tsx","../../src/primitives/Label/Label.tsx","../../src/primitives/NumberDisplay/NumberDisplay.tsx","../../src/primitives/DigitEntry/DigitEntry.tsx","../../src/primitives/NumberEntry/NumberEntryDigits.tsx","../../src/primitives/NumberEntry/NumberEntry.tsx","../../src/primitives/RangeSlider/RangeSlider.tsx","../../src/primitives/SelectEntry/SelectEntryRoot.tsx","../../src/primitives/SelectEntry/SelectEntryContent.tsx","../../src/primitives/SelectEntry/SelectEntryGroup.tsx","../../src/primitives/SelectEntry/SelectEntryItem.tsx","../../src/primitives/SelectEntry/SelectEntryLabel.tsx","../../src/primitives/SelectEntry/SelectEntrySeparator.tsx","../../src/primitives/SelectEntry/SelectEntryTrigger.tsx","../../src/primitives/SelectEntry/SelectEntry.tsx","../../src/primitives/Toggle/Toggle.tsx","../../src/primitives/ToggleSwitch/ToggleSwitch.tsx","../../src/components/FrontPanelNumberEntry/FrontPanelNumberEntry.tsx","../../src/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.tsx","../../src/components/FrontPanelIndicator/FrontPanelIndicator.tsx","../../src/components/FrontPanelPushButton/FrontPanelPushButton.tsx","../../src/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.tsx","../../src/components/FrontPanelTriggerButton/FrontPanelTriggerButton.tsx","../../src/components/FrontPanelRangeSlider/FrontPanelRangeSlider.tsx","../../src/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.tsx","../../src/components/FrontPanelSelectEntry/FrontPanelSelectEntry.tsx"],"sourcesContent":[null,null,null,null,null,"function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["NumeralSystem","ToggleState","NumericDigits","DigitCount","this","_DigitCount","_NumeralSystem","DigitChars","_DigitChars","constructor","digitCount","numeralSystem","GetDigitChars","GetDigitFromValue","value","targetDigitValue","toString","numeral","retval","Binary","BINARY_DIGITVALUES","Octal","OCTAL_DIGITVALUES","Decimal","DECIMAL_DIGITVALUES","Hexadecimal","HEXADECIMAL_DIGITVALUES","ComputeDigitCountFromBits","bitcount","maxValue","BigInt","ComputeDigitCountFromValue","radix","digitIndex","val","MAX_DIGITS","CalculateBitLength","bitLength","targetValue","FrontPanelContext","React","createContext","FrontPanel","props","device","workQueue","eventSource","createElement","Provider","children","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","displayName","Application","forwardRef","_forwardedRef","TooltipPrimitive","Tooltip","forwardedRef","className","open","defaultOpen","onOpenChange","delayDuration","disableHoverableContent","content","container","forceMount","tooltipContentProps","rootProps","Root","Trigger","asChild","Portal","Content","sideOffset","collisionPadding","classNames","withTooltip","targetComponent","tooltip","Button","label","size","onButtonUp","onButtonDown","onButtonClick","buttonProps","ButtonWithTooltip","disabled","undefined","onMouseDown","onMouseUp","onClick","ChevronDirection","ChevronIcon","direction","Down","color","iconProps","xmlns","width","height","viewBox","fill","arrow","Up","d","DirectionChevron","IndicatorArrowDirection","IndicatorArrowIcon","IndicatorArrow","IndicatorBarIcon","IndicatorStateIcon","state","colorOnState","colorOffState","icon","On","Off","StateIcon","RadioToggleStateIcon","Fragment","cx","cy","r","stroke","strokeWidth","SwitchToggleStateIcon","Indicator","indicatorProps","IndicatorWithTooltip","classnames","Label","text","horizontalPosition","verticalPosition","labelProps","NumberDisplay","decimalScale","maximumValue","minimumValue","useMemo","maximumValueDigitCount","minimumValueDigitCount","negativeSign","NumberDisplayWithTooltip","outputValue","outputDigitCount","Number","outputValueStr","padStart","integerDigitCount","slice","prefixString","padEnd","length","FormatValueString","DigitEntry","digitEntryRef","useRef","variant","maximum","minimum","onValueChanged","valueRef","current","valueChangedRef","useEffect","onDigitMouseWheelEventHandler","event","deltaY","stopPropagation","preventDefault","addEventListener","passive","removeEventListener","canIncrement","canDecrement","tabIndex","onMouseEnter","e","currentTarget","focus","onMouseLeave","blur","onKeyDown","isHandled","key","nextElement","nextElementSibling","previousElement","previousElementSibling","numericValue","parseInt","isNaN","indicator","Math","abs","NumberEntryDigits","digitStates","onDigitStatesChange","digitEntries","map","digitState","id","isKeyDown","newDigitStates","excessDecimalScale","splice","paddedPrefixString","push","reverse","digitListItems","NumberEntry","sliderProps","showLabel","showTooltip","NumberEntryImpl","onValueChange","ComputeDigitStatesFromValue","NegativeSign","_isKeyDown","newValue","ComputeValueFromDigitStates","startDigitIndex","currentValue","currentMaxDifference","currentMinDifference","digitValue","digitMaximum","floor","digitMinimum","ceil","ComputeDigitLimitValue","digitValueDifference","RangeSlider","RangeSliderImpl","defaultValue","valueStep","showThumbLabel","showTrackLabels","initialValue","controlValue","setControlValue","useState","updateControlValue","useCallback","RangeSliderTrack","SliderPrimitive","Track","Range","min","max","step","orientation","Thumb","SelectEntryContext","SelectEntryRoot","SelectPrimitive","SelectEntryContent","contentProps","useContext","position","align","ScrollAreaPrimitive","Viewport","Scrollbar","SelectEntryGroup","Group","SelectEntryItem","itemProps","Item","ItemText","SelectEntryLabel","SelectEntrySeparator","Separator","SelectEntryTrigger","triggerProps","SelectEntryTriggerImpl","placeholder","Value","Icon","SelectEntry","Object","assign","Toggle","onToggleStateChanged","toggleProps","dataState","OnButtonClick","newState","ToggleSwitch","toggleSwitchProps","ToggleButtonWithTooltip","FrontPanelNumberEntry","setValue","fpEndpoint","clampedMinimumValue","maximumLimit","minimumLimit","ClampValue","targetBitLength","targetWireSpanBitMask","bitOffset","onUpdateWireValue","sender","sourceWireValue","getWireInValue","epAddress","targetWireBitMask","sourceSpanValue","currentWireSpanBitOffset","currentWireSpanBitMask","sourceWireAddress","WIREIN_ADDRESS_RANGE","Maximum","onNumberEntryValueChange","async","Post","targetWireValue","setWireInValue","targetWireAddress","updateWireIns","FrontPanelNumberDisplay","getWireOutValue","WIREOUT_ADDRESS_RANGE","subscription","WireOutValuesChangedEvent","Subscribe","Cancel","FrontPanelIndicator","bitValue","setBitValue","FrontPanelPushButton","FrontPanelToggleSwitch","setState","newToggleState","FrontPanelTriggerButton","activateTriggerIn","FrontPanelRangeSlider","sourceValue","onSelectedValueChangeHandler","FrontPanelSelectEntryRoot","targetWireSpanValue","maxWireCount","wireIndex","FrontPanelSelectEntry"],"mappings":"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","x_google_ignoreList":[5]}
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/core/Types.ts","../../src/core/Numeric.ts","../../src/core/Binary.ts","../../src/contexts/FrontPanelContext.ts","../../src/components/FrontPanel/FrontPanel.tsx","../../node_modules/style-inject/dist/style-inject.es.js","../../src/primitives/Application/Application.tsx","../../src/primitives/Tooltip/Tooltip.tsx","../../src/primitives/TooltipUtility.tsx","../../src/primitives/Button/Button.tsx","../../src/components/Icons/ChevronIcon.tsx","../../src/components/Icons/IndicatorArrowIcon.tsx","../../src/components/Icons/IndicatorBarIcon.tsx","../../src/components/Icons/IndicatorStateIcon.tsx","../../src/components/Icons/RadioToggleStateIcon.tsx","../../src/components/Icons/SwitchToggleStateIcon.tsx","../../src/primitives/Indicator/Indicator.tsx","../../src/primitives/Label/Label.tsx","../../src/primitives/NumberDisplay/NumberDisplay.tsx","../../src/primitives/DigitEntry/DigitEntry.tsx","../../src/primitives/NumberEntry/NumberEntryDigits.tsx","../../src/primitives/NumberEntry/NumberEntry.tsx","../../src/primitives/RangeSlider/RangeSlider.tsx","../../src/primitives/SelectEntry/SelectEntryRoot.tsx","../../src/primitives/SelectEntry/SelectEntryContent.tsx","../../src/primitives/SelectEntry/SelectEntryGroup.tsx","../../src/primitives/SelectEntry/SelectEntryItem.tsx","../../src/primitives/SelectEntry/SelectEntryLabel.tsx","../../src/primitives/SelectEntry/SelectEntrySeparator.tsx","../../src/primitives/SelectEntry/SelectEntryTrigger.tsx","../../src/primitives/SelectEntry/SelectEntry.tsx","../../src/primitives/Toggle/Toggle.tsx","../../src/primitives/ToggleSwitch/ToggleSwitch.tsx","../../src/components/FrontPanelNumberEntry/FrontPanelNumberEntry.tsx","../../src/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.tsx","../../src/components/FrontPanelIndicator/FrontPanelIndicator.tsx","../../src/components/FrontPanelPushButton/FrontPanelPushButton.tsx","../../src/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.tsx","../../src/components/FrontPanelTriggerButton/FrontPanelTriggerButton.tsx","../../src/components/FrontPanelRangeSlider/FrontPanelRangeSlider.tsx","../../src/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.tsx","../../src/components/FrontPanelSelectEntry/FrontPanelSelectEntry.tsx"],"sourcesContent":[null,null,null,null,null,"function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["NumeralSystem","ToggleState","NumericDigits","DigitCount","this","_DigitCount","_NumeralSystem","DigitChars","_DigitChars","constructor","digitCount","numeralSystem","GetDigitChars","GetDigitFromValue","value","targetDigitValue","toString","numeral","retval","Binary","BINARY_DIGITVALUES","Octal","OCTAL_DIGITVALUES","Decimal","DECIMAL_DIGITVALUES","Hexadecimal","HEXADECIMAL_DIGITVALUES","ComputeDigitCountFromBits","bitcount","maxValue","BigInt","ComputeDigitCountFromValue","radix","digitIndex","val","MAX_DIGITS","CalculateBitLength","bitLength","targetValue","FrontPanelContext","React","createContext","FrontPanel","props","device","workQueue","eventSource","createElement","Provider","children","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","displayName","Application","forwardRef","_forwardedRef","TooltipPrimitive","Tooltip","forwardedRef","className","open","defaultOpen","onOpenChange","delayDuration","disableHoverableContent","content","container","forceMount","tooltipContentProps","rootProps","Root","Trigger","asChild","Portal","Content","sideOffset","collisionPadding","classNames","withTooltip","targetComponent","tooltip","Button","label","size","onButtonUp","onButtonDown","onButtonClick","buttonProps","ButtonWithTooltip","disabled","undefined","onMouseDown","onMouseUp","onClick","ChevronDirection","ChevronIcon","direction","Down","color","iconProps","xmlns","width","height","viewBox","fill","arrow","Up","d","DirectionChevron","IndicatorArrowDirection","IndicatorArrowIcon","IndicatorArrow","IndicatorBarIcon","IndicatorStateIcon","state","colorOnState","colorOffState","icon","On","Off","StateIcon","RadioToggleStateIcon","Fragment","cx","cy","r","stroke","strokeWidth","SwitchToggleStateIcon","Indicator","indicatorProps","IndicatorWithTooltip","classnames","Label","text","horizontalPosition","verticalPosition","labelProps","NumberDisplay","decimalScale","maximumValue","minimumValue","useMemo","maximumValueDigitCount","minimumValueDigitCount","negativeSign","NumberDisplayWithTooltip","outputValue","outputDigitCount","Number","outputValueStr","padStart","integerDigitCount","slice","prefixString","padEnd","length","FormatValueString","DigitEntry","digitEntryRef","useRef","variant","maximum","minimum","onValueChanged","valueRef","current","valueChangedRef","useEffect","onDigitMouseWheelEventHandler","event","deltaY","stopPropagation","preventDefault","addEventListener","passive","removeEventListener","canIncrement","canDecrement","tabIndex","onMouseEnter","e","currentTarget","focus","onMouseLeave","blur","onKeyDown","isHandled","key","nextElement","nextElementSibling","previousElement","previousElementSibling","numericValue","parseInt","isNaN","indicator","Math","abs","NumberEntryDigits","digitStates","onDigitStatesChange","digitEntries","map","digitState","id","isKeyDown","newDigitStates","excessDecimalScale","splice","paddedPrefixString","push","reverse","digitListItems","NumberEntry","sliderProps","showLabel","showTooltip","NumberEntryImpl","onValueChange","ComputeDigitStatesFromValue","NegativeSign","_isKeyDown","newValue","ComputeValueFromDigitStates","startDigitIndex","currentValue","currentMaxDifference","currentMinDifference","digitValue","digitMaximum","floor","digitMinimum","ceil","ComputeDigitLimitValue","digitValueDifference","RangeSlider","RangeSliderImpl","defaultValue","valueStep","showThumbLabel","showTrackLabels","initialValue","controlValue","setControlValue","useState","updateControlValue","useCallback","RangeSliderTrack","SliderPrimitive","Track","Range","min","max","step","orientation","Thumb","SelectEntryContext","SelectEntryRoot","SelectPrimitive","SelectEntryContent","contentProps","useContext","position","align","ScrollAreaPrimitive","Viewport","Scrollbar","SelectEntryGroup","Group","SelectEntryItem","itemProps","Item","ItemText","SelectEntryLabel","SelectEntrySeparator","Separator","SelectEntryTrigger","triggerProps","SelectEntryTriggerImpl","placeholder","Value","Icon","SelectEntry","Object","assign","Toggle","onToggleStateChanged","toggleProps","dataState","OnButtonClick","newState","ToggleSwitch","toggleSwitchProps","ToggleButtonWithTooltip","FrontPanelNumberEntry","setValue","fpEndpoint","clampedMinimumValue","maximumLimit","minimumLimit","ClampValue","targetBitLength","targetWireSpanBitMask","bitOffset","onUpdateWireValue","sender","sourceWireValue","getWireInValue","epAddress","targetWireBitMask","sourceSpanValue","currentWireSpanBitOffset","currentWireSpanBitMask","sourceWireAddress","WIREIN_ADDRESS_RANGE","onNumberEntryValueChange","async","post","targetWireValue","setWireInValue","targetWireAddress","updateWireIns","FrontPanelNumberDisplay","getWireOutValue","WIREOUT_ADDRESS_RANGE","subscription","wireOutValuesChangedEvent","subscribe","cancel","FrontPanelIndicator","bitValue","setBitValue","FrontPanelPushButton","FrontPanelToggleSwitch","setState","newToggleState","FrontPanelTriggerButton","activateTriggerIn","FrontPanelRangeSlider","sourceValue","onSelectedValueChangeHandler","FrontPanelSelectEntryRoot","targetWireSpanValue","maxWireCount","wireIndex","FrontPanelSelectEntry"],"mappings":"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","x_google_ignoreList":[5]}
|
package/dist/esm/index.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
import*as e from"react";import n,{useContext as r}from"react";import*as t from"@radix-ui/react-tooltip";import a from"classnames";import*as i from"@radix-ui/react-slider";import*as o from"@radix-ui/react-select";import*as l from"@radix-ui/react-scroll-area";import{WIREIN_ADDRESS_RANGE as s,WIREOUT_ADDRESS_RANGE as c}from"@opalkelly/frontpanel-alloy-core";var d,f;!function(e){e[e.Binary=2]="Binary",e[e.Octal=8]="Octal",e[e.Decimal=10]="Decimal",e[e.Hexadecimal=16]="Hexadecimal"}(d||(d={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On"}(f||(f={}));class u{get DigitCount(){return this._DigitCount}get NumeralSystem(){return this._NumeralSystem}get DigitChars(){return this._DigitChars}constructor(e,n){this._DigitCount=e,this._NumeralSystem=n,this._DigitChars=u.GetDigitChars(n)}GetDigitFromValue(e){let n=e%this._NumeralSystem;return n<0&&(n+=this._NumeralSystem),n.toString(this._NumeralSystem)}static GetDigitChars(e){let n;switch(e){case d.Binary:n=u.BINARY_DIGITVALUES;break;case d.Octal:n=u.OCTAL_DIGITVALUES;break;case d.Decimal:n=u.DECIMAL_DIGITVALUES;break;case d.Hexadecimal:n=u.HEXADECIMAL_DIGITVALUES;break;default:n=[]}return n}static ComputeDigitCountFromBits(e,n){const r=(1n<<BigInt(e))-1n;return this.ComputeDigitCountFromValue(r,n)}static ComputeDigitCountFromValue(e,n){const r=BigInt(n);let t,a=e;for(t=0n;t<u.MAX_DIGITS&&0n!==a;t++)a/=r;return t>0n?t:1n}}function p(e){let n=0;if(e>0n){let r=e;for(;r>0n;)r>>=1n,n++}else 0n===e&&(n=1);return n}u.MAX_DIGITS=1024,u.BINARY_DIGITVALUES=["0","1"],u.OCTAL_DIGITVALUES=["0","1","2","3","4","5","6","7"],u.DECIMAL_DIGITVALUES=[...u.OCTAL_DIGITVALUES,"8","9"],u.HEXADECIMAL_DIGITVALUES=[...u.DECIMAL_DIGITVALUES,"A","B","C","D","E","F"];const m=n.createContext({}),g=e=>{const{device:r,workQueue:t,eventSource:a}=e;return n.createElement(m.Provider,{value:{device:r,workQueue:t,eventSource:a}},e.children)};function h(e,n){void 0===n&&(n={});var r=n.insertAt;if(e&&"undefined"!=typeof document){var t=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===r&&t.firstChild?t.insertBefore(a,t.firstChild):t.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}g.displayName="FrontPanel";h("");const y=e.forwardRef(((n,r)=>e.createElement(t.Provider,null,n.children)));y.displayName="Application";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n@font-face {\r\n font-family: "Inter";\r\n src: url("./fonts/Inter-VariableFont_slnt\\,wght.ttf") format("truetype");\r\n}\r\n');h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okButton {\r\n /* Layout */\r\n display: inline-flex;\r\n padding: var(--button-padding, 6px 12px);\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n\r\n /* Style */\r\n border-width: 0px;\r\n border-radius: 4px;\r\n background: var(--brand-12, #44bd84);\r\n\r\n /* Typography */\r\n color: var(--Base-White, #fff);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--button-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 600;\r\n line-height: var(--button-line-height, 12px); /* 100% */\r\n\r\n /* State Pressed */\r\n &:is(:active) {\r\n background: #329466;\r\n }\r\n\r\n /* State Disabled */\r\n &:is(:disabled) {\r\n background: var(--Gray-2, #d0d7df);\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --button-padding: 6px 12px;\r\n --button-font-size: 12px;\r\n --button-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2*/\r\n &:where(.ok-r-size-2) {\r\n --button-padding: 10px 18px;\r\n --button-font-size: 14px;\r\n --button-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3*/\r\n &:where(.ok-r-size-3) {\r\n --button-padding: 18px 22px;\r\n --button-font-size: 20px;\r\n --button-line-height: 20px;\r\n }\r\n}\r\n');h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okTooltipContent {\r\n /* Layout */\r\n display: flex;\r\n padding: 10px;\r\n align-items: flex-end;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n background: var(--Dark, #343434);\r\n\r\n /* Drop shadow - tiny */\r\n box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.24);\r\n\r\n user-select: none;\r\n animation-duration: 200ms;\r\n animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);\r\n will-change: transform, opacity;\r\n}\r\n\r\n.okTooltipContent[data-state="delayed-open"][data-side="top"] {\r\n animation-name: slideDownAndFade;\r\n}\r\n.okTooltipContent[data-state="delayed-open"][data-side="right"] {\r\n animation-name: slideLeftAndFade;\r\n}\r\n.okTooltipContent[data-state="delayed-open"][data-side="bottom"] {\r\n animation-name: slideUpAndFade;\r\n}\r\n.okTooltipContent[data-state="delayed-open"][data-side="left"] {\r\n animation-name: slideRightAndFade;\r\n}\r\n\r\n.okTooltipText {\r\n /* Typography */\r\n color: var(--Light, #fff);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 12px; /* 100% */\r\n}\r\n\r\n@keyframes slideUpAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateY(2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n}\r\n\r\n@keyframes slideRightAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateX(-2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateX(0);\r\n }\r\n}\r\n\r\n@keyframes slideDownAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateY(-2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n}\r\n\r\n@keyframes slideLeftAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateX(2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateX(0);\r\n }\r\n}\r\n');const x=n.forwardRef(((e,r)=>{const{children:i,className:o,open:l,defaultOpen:s,onOpenChange:c,delayDuration:d,disableHoverableContent:f,content:u,container:p,forceMount:m,...g}=e,h={open:l,defaultOpen:s,onOpenChange:c,delayDuration:d,disableHoverableContent:f};return n.createElement(t.Root,{...h},n.createElement(t.Trigger,{asChild:!0},i),n.createElement(t.Portal,{container:p,forceMount:m},n.createElement(t.Content,{sideOffset:4,collisionPadding:10,...g,ref:r,className:a("okTooltipContent",o)},n.createElement("p",{className:"okTooltipText"},u))))}));function b(e){return function(r){return null!=r.tooltip?n.createElement(x,{content:r.tooltip},e):e}}x.displayName="Tooltip";const w=n.forwardRef(((e,r)=>{const{className:t,label:i,size:o=1,onButtonUp:l,onButtonDown:s,onButtonClick:c,...d}=e,f=b(n.createElement("button",{"data-disabled":d.disabled||void 0,...d,ref:r,className:a("okButton",t,"ok-r-size-"+o),onMouseDown:s,onMouseUp:l,onClick:c},i));return n.createElement(f,{...e})}));w.displayName="Button";var E;h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okIndicator {\r\n /* Layout */\r\n display: inline-flex;\r\n padding: var(--indicator-padding, 6px 12px);\r\n justify-content: flex-start;\r\n align-items: baseline;\r\n gap: 4px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: var(--Light, #fff);\r\n\r\n /* Indicator Icon Style */\r\n svg.okIndicatorIcon {\r\n width: var(--indicator-icon-width, 9px);\r\n height: var(--indicator-icon-height, 9px);\r\n }\r\n\r\n /* Label Style */\r\n .okIndicatorLabel {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n /* TODO: Determine how to get Inter font */\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--indicator-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: var(--indicator-line-height, 12px); /* 100% */\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --indicator-padding: 6px 12px;\r\n --indicator-font-size: 12px;\r\n --indicator-line-height: 12px;\r\n --indicator-icon-width: 9px;\r\n --indicator-icon-height: 9px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --indicator-padding: 10px 18px;\r\n --indicator-font-size: 14px;\r\n --indicator-line-height: 14px;\r\n --indicator-icon-width: 10px;\r\n --indicator-icon-height: 10px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --indicator-padding: 18px 22px;\r\n --indicator-font-size: 20px;\r\n --indicator-line-height: 20px;\r\n --indicator-icon-width: 15px;\r\n --indicator-icon-height: 15px;\r\n }\r\n}\r\n'),function(e){e[e.Up=0]="Up",e[e.Down=1]="Down"}(E||(E={}));const S=e.forwardRef(((n,r)=>{const{direction:t=E.Down,color:a="#343434",...i}=n;return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"8",viewBox:"0 0 12 8",fill:"none",...i,ref:r},((n,r)=>{let t;return n===E.Up||E.Down,t=e.createElement("path",{d:"M6.75593 7.12713C6.35716 7.58759 5.64284 7.58759 5.24407 7.12713L2.23682 3.65465C1.67594 3.00701 2.136 2 2.99275 2L9.00725 2C9.864 2 10.3241 3.00701 9.76318 3.65465L6.75593 7.12713Z",fill:r}),t})(t,a))}));var k;S.displayName="ChevronIcon",function(e){e[e.Up=0]="Up",e[e.Down=1]="Down"}(k||(k={}));const v=e.forwardRef(((n,r)=>{const{direction:t=k.Down,color:a="#343434",...i}=n;return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"4",viewBox:"0 0 10 4",fill:"none",...i,ref:r},((n,r)=>{let t;switch(n){case k.Up:t=e.createElement("path",{d:"M5 5.1656e-07L10 4L0 4L5 5.1656e-07Z",fill:r});break;case k.Down:t=e.createElement("path",{d:"M5 4L0 0L10 8.88334e-07L5 4Z",fill:r});break;default:t=e.createElement("path",{d:"M5 5.1656e-07L10 4L0 4L5 5.1656e-07Z",fill:r})}return t})(t,a))}));v.displayName="IndicatorArrowIcon";const I=e.forwardRef(((n,r)=>{const{color:t="#343434",...a}=n;return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"1",viewBox:"0 0 10 1",fill:"none",...a,ref:r},e.createElement("path",{d:"M8.74228e-08 -8.74228e-07L10 -9.53674e-07L10 1L0 0.999999L8.74228e-08 -8.74228e-07Z",fill:t}))}));I.displayName="IndicatorBarIcon";const N=e.forwardRef(((n,r)=>{const{state:t,color:a="#D0D7DF",colorOnState:i="#44BD84",colorOffState:o="#D0D7DF"}=n;return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",...n,ref:r},((n,r,t,a)=>{let i;switch(n){case f.On:i=e.createElement("path",{d:"M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10Z",fill:t});break;case f.Off:i=e.createElement("path",{d:"M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10Z",fill:a});break;default:i=e.createElement("path",{d:"M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10Z",fill:r})}return i})(t,a,i,o))}));N.displayName="IndicatorStateIcon";const C=e.forwardRef(((n,r)=>{const{state:t,color:a="#343434",colorOnState:i="#44BD84",...o}=n;return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",...o,ref:r},((n,r,t)=>{let a;switch(n){case f.On:a=e.createElement(e.Fragment,null,e.createElement("circle",{cx:"7",cy:"7",r:"6",stroke:r,strokeWidth:"2"}),e.createElement("circle",{cx:"7",cy:"7",r:"3",fill:t}));break;case f.Off:default:a=e.createElement("circle",{cx:"7",cy:"7",r:"6",stroke:r,strokeWidth:"2"})}return a})(t,a,i))}));C.displayName="RadioToggleStateIcon";const z=e.forwardRef(((n,r)=>{const{state:t,color:a="white",colorOnState:i="white",colorOffState:o="white",...l}=n;return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"8",height:"8",viewBox:"0 0 8 8",fill:"none",...l,ref:r},((n,r,t,a)=>{let i;switch(n){case f.On:i=e.createElement("circle",{cx:"4",cy:"4",r:"3.75",fill:t});break;case f.Off:i=e.createElement("circle",{cx:"4",cy:"4",r:"3.75",fill:a});break;default:i=e.createElement("circle",{cx:"4",cy:"4",r:"3.75",fill:r})}return i})(t,a,i,o))}));z.displayName="SwitchToggleStateIcon";const T=n.forwardRef(((e,r)=>{const{className:t,label:i,size:o=1,state:l,...s}=e,c=b(n.createElement("span",{...s,ref:r,className:a("okIndicator",t,"ok-r-size-"+o)},n.createElement(N,{className:"okIndicatorIcon",state:l?f.On:f.Off}),n.createElement("span",{className:a("okIndicatorLabel")},i)));return n.createElement(c,{...e})}));T.displayName="Indicator";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okLabel {\r\n /* Layout */\r\n display: inline-flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 4px;\r\n\r\n /* Text Style */\r\n .okLabelText {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 12px; /* 100% */\r\n }\r\n\r\n /* Label Position Left Top*/\r\n &:where(.ok-pos-left-top) {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n }\r\n\r\n /* Label Position Left Bottom*/\r\n &:where(.ok-pos-left-bottom) {\r\n flex-direction: column-reverse;\r\n align-items: flex-start;\r\n }\r\n\r\n /* Label Position Right Top*/\r\n &:where(.ok-pos-right-top) {\r\n flex-direction: column;\r\n align-items: flex-end;\r\n }\r\n\r\n /* Label Position Right Bottom*/\r\n &:where(.ok-pos-right-bottom) {\r\n flex-direction: column-reverse;\r\n align-items: flex-end;\r\n }\r\n}\r\n');const D=n.forwardRef(((e,r)=>{const{className:t,text:i,horizontalPosition:o="left",verticalPosition:l="top",children:s,...c}=e;return n.createElement("div",{...c,ref:r,className:a("okLabel",t,"ok-pos-"+o+"-"+l)},n.createElement("span",{className:a("okLabelText")},i),s)}));D.displayName="Label";h("/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okNumberDisplay {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--number-display-padding, 6px 12px);\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: #f5f5f5;\r\n\r\n /* Content Style */\r\n .okNumberDisplayContent {\r\n display: flex;\r\n padding: var(--spacing-0, 0px);\r\n align-items: center;\r\n justify-content: flex-end;\r\n gap: 8px;\r\n flex: 1 0 0;\r\n }\r\n\r\n /* Text Style */\r\n .okNumberDisplayText {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--number-display-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--number-display-line-height, 12px); /* 100% */\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --number-display-padding: 6px 6px;\r\n --number-display-font-size: 12px;\r\n --number-display-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --number-display-padding: 6px 10px;\r\n --number-display-font-size: 14px;\r\n --number-display-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --number-display-padding: 6px 18px;\r\n --number-display-font-size: 20px;\r\n --number-display-line-height: 20px;\r\n }\r\n}\r\n");const L=n.forwardRef(((e,r)=>{const{className:t,label:i,size:o=1,numeralSystem:l=d.Decimal,decimalScale:s=0,maximumValue:c,minimumValue:f,value:p}=e,m=n.useMemo((()=>{const e=u.ComputeDigitCountFromValue(c,l),n=u.ComputeDigitCountFromValue(f,l);return e>n?e:n}),[c,f,l]),g=n.useMemo((()=>n.createElement("span",{className:a("okNumberDisplayText","ok-r-size-"+o)},"-")),[o]),h=b(n.createElement("div",{ref:r,className:a("okNumberDisplay",t,"ok-r-size-"+o)},n.createElement("div",{className:"okNumberDisplayContent"},p<0n&&g,n.createElement("span",{className:"okNumberDisplayText"},function(e,n,r,t){let a;if(null!=e){const i=e>=0n?e:-e,o=Number(n),l=i.toString(r).padStart(o,"0");if(r===d.Decimal&&t>0){const e=o-t;if(e>0)a=l.slice(0,e)+"."+l.slice(e);else{const n="0.";a=n.padEnd(n.length-e,"0")+l}}else a=l}else a="Error";return a}(p,m,l,s)))));if(null!=i)return n.createElement(D,{...i},n.createElement("div",{style:{width:"100%"}},n.createElement(h,{...e})));n.createElement(h,{...e})}));L.displayName="NumberDisplay";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okNumberEntry {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--number-entry-padding, 6px);\r\n justify-content: flex-end;\r\n align-items: center;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--brand-12, #44bd84);\r\n background: var(--Light, #fff);\r\n\r\n /* Content Style */\r\n .okNumberEntryContent {\r\n display: flex;\r\n height: auto; /*32px;*/\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: var(--spacing-0, 0px);\r\n align-self: stretch;\r\n }\r\n\r\n /* Text Style */\r\n .okNumberEntryText {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--number-entry-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--number-entry-line-height, 12px); /* 100% */\r\n letter-spacing: 1.26px;\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --number-entry-padding: 1px 6px;\r\n --number-entry-font-size: 12px;\r\n --number-entry-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --number-entry-padding: 1px 10px;\r\n --number-entry-font-size: 14px;\r\n --number-entry-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --number-entry-padding: 1px 18px;\r\n --number-entry-font-size: 20px;\r\n --number-entry-line-height: 20px;\r\n }\r\n}\r\n\r\n.okNumberEntry[data-disabled="true"] {\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n opacity: 0.5;\r\n background: var(--Gray-3, #e7ebef);\r\n\r\n pointer-events: none;\r\n}\r\n');h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okDigitEntry {\r\n /* Layout */\r\n display: inline-flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 1px;\r\n\r\n /* Content Style */\r\n .okDigitEntryContent {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--spacing-xxs, 2px);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n /* Style */\r\n border-radius: 1px;\r\n\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--digit-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--digit-line-height, 12px); /* 200% */\r\n letter-spacing: 1.26px;\r\n text-transform: uppercase;\r\n }\r\n\r\n /* Increment Indicator Style */\r\n .okDigitEntryIncrementIndicator {\r\n visibility: hidden;\r\n }\r\n\r\n /* Decrement Indicator Style */\r\n .okDigitEntryDecrementIndicator {\r\n visibility: hidden;\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --digit-font-size: 12px;\r\n --digit-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --digit-font-size: 14px;\r\n --digit-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --digit-font-size: 20px;\r\n --digit-line-height: 20px;\r\n }\r\n}\r\n\r\ndiv.okDigitEntry:focus {\r\n /* Layout */\r\n display: inline-flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 1px;\r\n\r\n /* Style */\r\n outline: none;\r\n overscroll-behavior: none;\r\n\r\n /* Content Style */\r\n .okDigitEntryContent {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--spacing-xxs, 2px);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n /* Style */\r\n border-radius: 1px;\r\n background: var(--brand-12, #44bd84);\r\n\r\n /* Typography */\r\n color: var(--Light, #fff);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--digit-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--digit-line-height, 12px); /* 200% */\r\n letter-spacing: 1.26px;\r\n }\r\n\r\n .okDigitEntryIncrementIndicator {\r\n visibility: visible;\r\n }\r\n\r\n .okDigitEntryDecrementIndicator {\r\n visibility: visible;\r\n }\r\n\r\n .okDigitEntryIncrementIndicator[data-enabled="false"] {\r\n opacity: 0.25;\r\n }\r\n\r\n .okDigitEntryDecrementIndicator[data-enabled="false"] {\r\n opacity: 0.25;\r\n }\r\n}\r\n');const O=e=>{const r=n.useRef(null),{className:t,variant:i="standard",size:o=1,value:l,maximum:s,minimum:c,numeralSystem:f=d.Decimal,onValueChanged:u}=e,p=n.useRef(l);p.current=e.value;const m=n.useRef(u);m.current=u;n.useEffect((()=>{const e=e=>{e.deltaY<0?(m.current?.(p.current+1,!1),e.stopPropagation(),e.preventDefault()):e.deltaY>0&&(m.current?.(p.current-1,!1),e.stopPropagation(),e.preventDefault())};return r.current?.addEventListener("wheel",e,{passive:!1}),()=>{r.current?.removeEventListener("wheel",e)}}),[r]);const g=null==s||l<s,h=null==c||l>c;return n.createElement("div",{className:a("okDigitEntry",t,"ok-r-size-"+o),ref:r,tabIndex:-1,onMouseEnter:e=>e.currentTarget.focus(),onMouseLeave:e=>e.currentTarget.blur(),onKeyDown:e=>{let n=!1;switch(e.key){case"ArrowUp":u?.(l+1,!1),n=!0;break;case"ArrowDown":u?.(l-1,!1),n=!0;break;case"ArrowRight":{const r=e.currentTarget.nextElementSibling;r?.focus(),n=!0}break;case"ArrowLeft":{const r=e.currentTarget.previousElementSibling;r?.focus(),n=!0}break;default:n=!1}if(n)e.stopPropagation(),e.preventDefault();else{const n=parseInt(e.key,f);if(!Number.isNaN(n)){u?.(n,!0);const r=e.currentTarget.nextElementSibling;r?.focus()}}}},n.createElement((()=>{let e;switch(i){case"standard":e=n.createElement(v,{className:a("okDigitEntryIncrementIndicator"),direction:k.Up,color:"#343434","data-enabled":g});break;case"compact":e=n.createElement(I,{className:a("okDigitEntryIncrementIndicator"),color:"#343434","data-enabled":g});break;default:e=null}return e}),null),n.createElement("div",{className:a("okDigitEntryContent","ok-r-size-"+o)},Math.abs(l).toString(Number(f))),n.createElement((()=>{let e;switch(i){case"standard":e=n.createElement(v,{className:a("okDigitEntryDecrementIndicator"),direction:k.Down,color:"#343434","data-enabled":h});break;case"compact":e=n.createElement(I,{className:a("okDigitEntryDecrementIndicator"),color:"#343434","data-enabled":h});break;default:e=null}return e}),null))};O.displayName="DigitEntry";const R=e=>{const{variant:r="standard",size:t=1,numeralSystem:i,decimalScale:o=0,digitStates:l,onDigitStatesChange:s}=e;return n.createElement(n.Fragment,null,(()=>{const e=l.map(((e,a)=>n.createElement(O,{key:"digit-"+e.id,variant:r,size:t,numeralSystem:i,value:e.value,maximum:e.maximum,minimum:e.minimum,onValueChanged:(e,n)=>{const r=[...l];r[a]={...l[a],value:e},s?.(r,n)}})));if(i===d.Decimal&&o>0){const r=o-e.length;if(r<0)e.splice(o,0,n.createElement("span",{key:"digit-decimal-point",className:a("okNumberEntryText","ok-r-size-"+t)},"."));else{const i="0.",o=i.padEnd(i.length+r,"0");e.push(n.createElement("span",{key:"digit-decimal-prefix",className:a("okNumberEntryText","ok-r-size-"+t)},o))}}return e.reverse()})())};R.displayName="NumberEntryDigits";const A=n.forwardRef(((e,r)=>{const{label:t,tooltip:a,...i}=e,o=null!=t,l=null!=a;return o&&l?n.createElement(D,{...t},n.createElement(x,{content:a},n.createElement("div",{style:{width:"100%"}},n.createElement(V,{ref:r,...i})))):o?n.createElement(D,{...t},n.createElement("div",{style:{width:"100%"}},n.createElement(V,{ref:r,...i}))):l?n.createElement(x,{content:a},n.createElement("div",null,n.createElement(V,{ref:r,...i}))):n.createElement(V,{ref:r,...i})}));A.displayName="NumberEntry";const V=n.forwardRef(((e,r)=>{const{className:t,variant:i="standard",size:o=1,disabled:l=!1,numeralSystem:s=d.Decimal,decimalScale:c=0,maximumValue:f,minimumValue:p,value:m,onValueChange:g}=e,h=n.useMemo((()=>{const e=u.ComputeDigitCountFromValue(f,s),n=u.ComputeDigitCountFromValue(p,s);return Number(e>n?e:n)}),[f,p,s]),y=BigInt(s),x=P(m,f,p,y,h);return n.createElement("div",{ref:r,className:a("okNumberEntry",t,"ok-r-size-"+o),"data-disabled":l||void 0},n.createElement("div",{className:"okNumberEntryContent"},m<0n&&(e=>n.createElement("span",{className:a("okNumberEntryText","ok-r-size-"+e)},"-"))(o),n.createElement(R,{variant:i,size:o,numeralSystem:s,decimalScale:c,digitStates:x,onDigitStatesChange:(e,n)=>{let r=B(e,y);r>=0n!=m>=0n&&0n!==r&&(r+=2n*-m),r<=f&&r>=p&&g?.(r)}})))}));V.displayName="NumberEntryImpl";const B=(e,n)=>{const r=e.length-1;let t=BigInt(e[r].value);for(let a=r-1;a>=0;a--)t=t*n+BigInt(e[a].value);return t},P=(e,n,r,t,a)=>{const i=[];let o=e,l=n-e,s=r-e;for(let e=0;e<a;e++){const n=Number(o%t),r=Math.floor(Number(l+BigInt(n))),a=Math.ceil(Number(s+BigInt(n)));i[e]={id:e,value:n,maximum:F(r,Number(t)),minimum:F(a,Number(t))},o/=t,l/=t,s/=t}return i},F=(e,n)=>{let r;return r=e>=0?e<n?e:void 0:e>-n?e:void 0,r};h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okRangeSlider {\r\n --range-slider-thumb-outline-size: 2px;\r\n --range-slider-thumb-border-size: 2px;\r\n --range-slider-thumb-size: 22px;\r\n --range-slider-track-size: 8px;\r\n\r\n /* Layout */\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n gap: 4px;\r\n align-self: stretch;\r\n width: 100%;\r\n height: fit-content;\r\n\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: right;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 12px; /* 100% */\r\n}\r\n\r\n/* State Disabled */\r\n.okRangeSlider[data-disabled="true"] {\r\n opacity: 0.5;\r\n}\r\n\r\n.okRangeSliderLabel {\r\n width: 100%;\r\n}\r\n\r\n.okRangeSliderRoot {\r\n /* Layout */\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n height: var(--range-slider-thumb-size);\r\n min-width: 100px;\r\n\r\n /* Style */\r\n user-select: none;\r\n touch-action: none;\r\n}\r\n\r\n.okRangeSliderTrack {\r\n /* Layout */\r\n position: relative;\r\n flex-grow: 1;\r\n height: var(--range-slider-track-size);\r\n\r\n /* Style */\r\n background: var(--Gray-2, #d0d7df);\r\n border-radius: 9999px;\r\n}\r\n\r\n.okRangeSliderRange {\r\n /* Layout */\r\n position: absolute;\r\n height: 100%;\r\n\r\n /* Style */\r\n background-color: #44bd84;\r\n border-radius: inherit;\r\n}\r\n\r\n.okRangeSliderThumb {\r\n /* Layout */\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: calc(\r\n var(--range-slider-thumb-size) -\r\n (2 * (var(--range-slider-thumb-border-size) + var(--range-slider-thumb-outline-size)))\r\n );\r\n height: calc(\r\n var(--range-slider-thumb-size) -\r\n (2 * (var(--range-slider-thumb-border-size) + var(--range-slider-thumb-outline-size)))\r\n );\r\n\r\n /* Style */\r\n background: var(--Base-White, #fff);\r\n border: var(--range-slider-thumb-border-size) solid var(--brand-12, #44bd84);\r\n border-radius: var(--range-slider-thumb-size);\r\n}\r\n\r\n.okRangeSliderThumb:hover {\r\n background-color: #44bd84;\r\n}\r\n\r\n.okRangeSliderThumb:focus {\r\n outline: none;\r\n box-shadow: 0 0 0 var(--range-slider-thumb-outline-size) #d0d7df;\r\n}\r\n\r\n.okRangeSliderThumbLabel {\r\n /* Layout */\r\n position: absolute;\r\n bottom: -14px;\r\n}\r\n');const M=n.forwardRef(((e,r)=>{const{label:t,tooltip:a,...i}=e,o=null!=t,l=null!=a;return o&&l?n.createElement(D,{className:"okRangeSliderLabel",...t},n.createElement(x,{content:a},n.createElement("div",{style:{width:"100%"}},n.createElement(j,{ref:r,...i})))):o?n.createElement(D,{className:"okRangeSliderLabel",...t},n.createElement("div",{style:{width:"100%"}},n.createElement(j,{ref:r,...i}))):l?n.createElement(x,{content:a},n.createElement("div",{style:{width:"100%"}},n.createElement(j,{ref:r,...i}))):n.createElement(j,{ref:r,...i})}));M.displayName="RangeSlider";const j=n.forwardRef(((e,r)=>{const{className:t,tooltip:o,minimumValue:l=0,maximumValue:s=100,onValueChange:c,defaultValue:d=l,value:f,valueStep:u=1,showThumbLabel:p=!0,showTrackLabels:m=!0,disabled:g=!1}=e,h=f??d,[y,b]=n.useState([h]);n.useEffect((()=>{b([h])}),[h]);const w=n.useCallback((e=>{b([e]),c?.(e)}),[c]),E=()=>n.createElement(i.Track,{className:"okRangeSliderTrack"},n.createElement(i.Range,{className:"okRangeSliderRange"})),S=null!=o;return n.createElement("div",{className:a("okRangeSlider",t),"data-disabled":g||void 0},m?n.createElement("span",null,l):null,n.createElement(i.Root,{ref:r,min:l,max:s,step:u,value:y,onValueChange:e=>w(e[0]),orientation:"horizontal",className:"okRangeSliderRoot",disabled:g},S?n.createElement(x,{content:o},n.createElement(E,null)):n.createElement(E,null),n.createElement(i.Thumb,{className:"okRangeSliderThumb"},p?n.createElement("div",{className:"okRangeSliderThumbLabel"},y):null)),m?n.createElement("span",null,s):null)}));j.displayName="RangeSliderImpl";const G=n.createContext({label:{text:"",horizontalPosition:"right",verticalPosition:"top"},size:1,value:void 0}),W=e=>{const{label:r,children:t,size:a=1,tooltip:i,value:l,...s}=e;return n.createElement(o.Root,{value:l,...s},n.createElement(G.Provider,{value:n.useMemo((()=>({label:r,size:a,tooltip:i,value:l})),[r,a,i,l])},t))};W.displayName="SelectEntryRoot";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryContent {\r\n /* Layout */\r\n width: var(--radix-select-trigger-width);\r\n max-height: var(--radix-select-content-available-height);\r\n display: flex;\r\n padding: 10px 18px;\r\n flex-direction: column;\r\n overflow: hidden;\r\n justify-content: center;\r\n align-items: stretch;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: var(--Light, #fff);\r\n box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.24);\r\n\r\n .okSelectEntryContentInner {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n }\r\n\r\n /* ScrollArea Root Style */\r\n .okScrollArea {\r\n display: flex;\r\n flex-direction: column;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n /* ScrollArea Viewport Style */\r\n .okScrollAreaViewport {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n gap: 10px;\r\n\r\n /* Stop Chrome back/forward two-finger swipe */\r\n overscroll-behavior-x: contain;\r\n\r\n &:where(:focus-visible) + :where(.rt-ScrollAreaViewportFocusRing) {\r\n position: absolute;\r\n inset: 0;\r\n pointer-events: none;\r\n outline: 2px solid var(--focus-8);\r\n outline-offset: -2px;\r\n }\r\n }\r\n\r\n /* ScrollArea Scrollbar Style */\r\n .okScrollAreaScrollbar {\r\n display: flex;\r\n /* Ensures no selection */\r\n user-select: none;\r\n /* Disable browser handling of all panning and zooming gestures on touch devices */\r\n touch-action: none;\r\n\r\n &:where([data-orientation="vertical"]) {\r\n flex-direction: column;\r\n width: 4px;\r\n }\r\n &:where([data-orientation="horizontal"]) {\r\n flex-direction: row;\r\n height: 4px;\r\n }\r\n }\r\n\r\n /* ScrollArea Thumb Style */\r\n .okScrollAreaThumb {\r\n position: relative;\r\n\r\n &::before {\r\n content: "";\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n width: 100%;\r\n height: 100%;\r\n min-width: var(--space-4);\r\n min-height: var(--space-4);\r\n }\r\n }\r\n}\r\n');const U=n.forwardRef(((e,r)=>{const{className:t,children:i,container:s,...c}=e,{size:d}=n.useContext(G);return n.createElement(o.Portal,{container:s},n.createElement(o.Content,{sideOffset:4,...c,ref:r,className:a("okSelectEntryContent",t,"ok-r-size-"+d),position:"popper",align:"start"},n.createElement(l.Root,{type:"auto",className:"okScrollArea"},n.createElement(o.Viewport,{asChild:!0},n.createElement(l.Viewport,{className:"okScrollAreaViewport"},n.createElement("div",{className:"okSelectEntryContentInner"},i))),n.createElement(l.Scrollbar,{className:"okScrollAreaScrollbar",orientation:"vertical"},n.createElement(l.Thumb,{className:"okScrollAreaThumb"})))))}));U.displayName="SelectEntryContent";h("/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryGroup {\r\n /* Layout */\r\n display: flex;\r\n padding: 0px;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n align-self: stretch;\r\n gap: 10px;\r\n}\r\n");const _=n.forwardRef(((e,r)=>n.createElement(o.Group,{...e,ref:r,className:a("okSelectEntryGroup",e.className)})));_.displayName="SelectEntryGroup";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryItem {\r\n /* Layout */\r\n display: flex;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n /* Style */\r\n color: var(--Dark, #343434);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 14px; /* 100% */\r\n\r\n /* Indicator Style */\r\n .okSelectEntryItemIndicator {\r\n width: 14px;\r\n height: 14px;\r\n }\r\n}\r\n\r\n.okSelectEntryItem[data-disabled] {\r\n opacity: 0.5;\r\n pointer-events: none;\r\n}\r\n.okSelectEntryItem[data-highlighted] {\r\n outline: none;\r\n}\r\n');const K=n.forwardRef(((e,r)=>{const{className:t,children:i,...l}=e,{size:s,value:c}=n.useContext(G);return n.createElement(o.Item,{...l,ref:r,className:a("okSelectEntryItem",t,"ok-r-size-"+s)},n.createElement(C,{state:c===e.value?f.On:f.Off}),n.createElement(o.ItemText,null,i))}));K.displayName="SelectEntryItem";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryLabel {\r\n /* Typography */\r\n color: var(--Gray-1, #989da3);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 10px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 12px; /* 120% */\r\n}\r\n');const Q=n.forwardRef(((e,r)=>{const{className:t,...i}=e,{size:l}=n.useContext(G);return n.createElement(o.Label,{...i,ref:r,className:a("okSelectEntryLabel",t,"ok-r-size-"+l)})}));Q.displayName="SelectEntryLabel";h("/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntrySeparator {\r\n height: 1px;\r\n\r\n background: #d0d7df;\r\n}\r\n");const X=n.forwardRef(((e,r)=>n.createElement(o.Separator,{...e,ref:r,className:a("okSelectEntrySeparator",e.className)})));X.displayName="SelectEntrySeparator";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryTrigger {\r\n /* Layout */\r\n display: flex;\r\n padding: 0px 18px;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: 8px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: var(--Light, #fff);\r\n\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 14px; /* 100% */\r\n\r\n /* State Disabled */\r\n &:is(:disabled) {\r\n opacity: 0.5;\r\n background: var(--Gray-3, #e7ebef);\r\n }\r\n}\r\n\r\n.okSelectEntryTriggerInner {\r\n /* Layout */\r\n padding: 10px 0px;\r\n\r\n /* Style */\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n}\r\n\r\n/* State Disabled */\r\n.okSelectEntryTrigger[data-disabled="true"] {\r\n opacity: 0.5;\r\n}\r\n');const Y=n.forwardRef(((e,t)=>{const{label:a,tooltip:i,...o}=r(G),l=null!=a,s=null!=i;return l&&s?n.createElement(D,{...a},n.createElement(x,{content:i},n.createElement(Z,{ref:t,...e,style:{width:"100%"}}))):l?n.createElement(D,{...a},n.createElement(Z,{ref:t,...o,style:{width:"100%"}})):s?n.createElement(x,{content:i},n.createElement("div",null,n.createElement(Z,{ref:t,...o}))):n.createElement(Z,{ref:t,...o})}));Y.displayName="SelectEntryTrigger";const Z=n.forwardRef(((e,r)=>{const{className:t,placeholder:i,...l}=e,{size:s}=n.useContext(G);return n.createElement(o.Trigger,{asChild:!0},n.createElement("button",{...l,ref:r,className:a("okSelectEntryTrigger",t,"ok-r-size-"+s)},n.createElement("span",{className:"okSelectEntryTriggerInner"},n.createElement(o.Value,{placeholder:i})),n.createElement(o.Icon,{asChild:!0},n.createElement(S,{direction:E.Down}))))}));Z.displayName="SelectEntryTriggerImpl";const H=Object.assign({},{Root:W,Trigger:Y,Content:U,Item:K,Group:_,Label:Q,Separator:X});h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okToggle {\r\n /* Layout */\r\n display: inline-flex;\r\n padding: var(--toggle-padding, 6px 12px);\r\n justify-content: center;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n color: var(--base-white, #fff);\r\n\r\n /* Style */\r\n border-width: 0px;\r\n border-radius: 4px;\r\n background: var(--brand-12, #44bd84);\r\n\r\n /* Typography */\r\n color: var(--Base-White, #fff);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--toggle-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 600;\r\n line-height: 12px; /* 100% */\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --toggle-padding: 6px 12px;\r\n --toggle-font-size: 12px;\r\n --toggle-line-height: 12px;\r\n }\r\n\r\n /* Size 2 */\r\n &:where(.ok-r-size-2) {\r\n --toggle-padding: 10px 18px;\r\n --toggle-font-size: 14px;\r\n --toggle-line-height: 14px;\r\n }\r\n\r\n /* Size 3 */\r\n &:where(.ok-r-size-3) {\r\n --toggle-padding: 18px 22px;\r\n --toggle-font-size: 20px;\r\n --toggle-line-height: 20px;\r\n }\r\n}\r\n\r\n/* State Disabled */\r\n.okToggle[data-disabled="true"] {\r\n background: var(--Gray-2, #d0d7df);\r\n}\r\n\r\n/* State On */\r\n.okToggle[data-state="on"]:not([data-disabled="true"]) {\r\n background: #329466;\r\n}\r\n\r\n/* State Off */\r\n.okToggle[data-state="off"]:not([data-disabled="true"]) {\r\n background: var(--brand-12, #44bd84);\r\n}\r\n');const q=n.forwardRef(((e,r)=>{const{className:t,size:i=1,disabled:o=!1,tooltip:l,state:s,children:c,onToggleStateChanged:d,...u}=e,p=n.useMemo((()=>{switch(s){case f.On:return"on";case f.Off:return"off";default:return"indeterminate"}}),[s]),m=n.useCallback((()=>{const e=s===f.On?f.Off:f.On;d?.(e)}),[s]);return n.createElement("button",{"data-disabled":o||void 0,ref:r,...u,className:a("okToggle",t,"ok-r-size-"+i),"data-state":p,onClick:m},c)}));q.displayName="Toggle";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okToggleSwitchRoot {\r\n /* Layout */\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n\r\n /* Switch Style */\r\n .okToggleSwitch {\r\n /* Layout */\r\n display: flex;\r\n width: var(--toggle-switch-width, 16.5px);\r\n height: var(--toggle-switch-height, 9px);\r\n padding: var(--toggle-switch-padding, 0.75px);\r\n align-items: center;\r\n\r\n /* Style */\r\n border-width: 0px;\r\n border-radius: var(--toggle-switch-border-radius, 4.5px);\r\n background: var(--Gray-2, #d0d7df);\r\n\r\n /* Switch Icon Style */\r\n .okIndicatorIcon {\r\n width: var(--toggle-switch-icon-width, 9px);\r\n height: var(--toggle-switch-icon-height, 9px);\r\n }\r\n }\r\n\r\n /* Label Style */\r\n .okToggleSwitchLabel {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--toggle-switch-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: var(--toggle-switch-line-height, 12px); /* 100% */\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --toggle-switch-width: 16.5px;\r\n --toggle-switch-height: 9px;\r\n\r\n --toggle-switch-padding: 0.75px;\r\n --toggle-switch-border-radius: 4.5px;\r\n\r\n --toggle-switch-font-size: 12px;\r\n --toggle-switch-line-height: 12px;\r\n\r\n --toggle-switch-icon-width: 7.5px;\r\n --toggle-switch-icon-height: 7.5px;\r\n }\r\n\r\n /* Sizes 2*/\r\n &:where(.ok-r-size-2) {\r\n --toggle-switch-width: 18.333px;\r\n --toggle-switch-height: 10px;\r\n\r\n --toggle-switch-padding: 0.883px;\r\n --toggle-switch-border-radius: 5px;\r\n\r\n --toggle-switch-font-size: 14px;\r\n --toggle-switch-line-height: 14px;\r\n\r\n --toggle-switch-icon-width: 8.33px;\r\n --toggle-switch-icon-height: 8.33px;\r\n }\r\n\r\n /* Sizes 3*/\r\n &:where(.ok-r-size-3) {\r\n --toggle-switch-width: 27.5px;\r\n --toggle-switch-height: 15px;\r\n\r\n --toggle-switch-padding: 1.25px;\r\n --toggle-switch-border-radius: 7.5px;\r\n\r\n --toggle-switch-font-size: 20px;\r\n --toggle-switch-line-height: 20px;\r\n\r\n --toggle-switch-icon-width: 12.5px;\r\n --toggle-switch-icon-height: 12.5px;\r\n }\r\n}\r\n\r\n/* State Disabled */\r\n.okToggleSwitchRoot[data-disabled="true"] {\r\n opacity: 0.5;\r\n}\r\n\r\n/* State On */\r\n.okToggleSwitch[data-state="on"] {\r\n justify-content: flex-end;\r\n}\r\n\r\n.okToggleSwitch[data-state="on"]:not([data-disabled="true"]) {\r\n background: var(--brand-12, #44bd84);\r\n}\r\n\r\n/* State Off */\r\n.okToggleSwitch[data-state="off"] {\r\n justify-content: flex-start;\r\n}\r\n\r\n.okToggleSwitch[data-state="off"]:not([data-disabled="true"]) {\r\n background: var(--Gray-2, #d0d7df);\r\n}\r\n');const J=n.forwardRef(((e,r)=>{const{className:t,size:i=1,label:o,disabled:l=!1,state:s,...c}=e,d=b(n.createElement("span",{className:a("okToggleSwitchRoot",t,"ok-r-size-"+i),"data-disabled":l||void 0},n.createElement(q,{className:a("okToggleSwitch"),ref:r,...c,size:i,disabled:l,state:s},n.createElement(z,{className:"okIndicatorIcon",state:s})),n.createElement("span",{className:a("okToggleSwitchLabel")},o)));return n.createElement(d,{...e})}));J.displayName="ToggleSwitch";const $=n.forwardRef(((e,r)=>{const[t,a]=n.useState(e.minimumValue??0n),{device:i,workQueue:o}=n.useContext(m),{maximumValue:l,minimumValue:c,fpEndpoint:d,disabled:f,...u}=e,g=n.useMemo((()=>void 0!==c?function(e,n,r){let t;t=e<r?r:e>n?n:e;return t}(c,l,0n):0n),[c,l]),h=n.useMemo((()=>p(l)),[l]),y=(1n<<BigInt(h))-1n<<BigInt(d.bitOffset),x=n.useCallback((e=>{if(null!=e&&null!=o){let n=e.getWireInValue(d.epAddress),r=0xffffffffn&y,t=(BigInt(n)&r)>>BigInt(d.bitOffset);if(y>0xffffffffn){let a=32n-BigInt(d.bitOffset),i=y>>32n;for(let o=d.epAddress+1;o<=s.Maximum&&i>0n;o++)n=e.getWireInValue(o),r=0xffffffffn&i,t|=(BigInt(n)&r)<<a,a+=32n,i>>=32n}a(t)}else a(0n)}),[o,d,y]);n.useEffect((()=>{x(i)}),[i,x]);const b=n.useCallback((async e=>{null!=i&&null!=o&&await o.Post((async()=>{let n=0xffffffffn&y,r=Number(e<<BigInt(d.bitOffset)&n);if(i.setWireInValue(d.epAddress,r,Number(n)),y>0xffffffffn){let t=32n-BigInt(d.bitOffset),a=y>>32n;for(let o=d.epAddress+1;o<=s.Maximum&&a>0n;o++)n=0xffffffffn&a,r=Number(e>>t&n),i.setWireInValue(o,r,Number(n)),t+=32n,a>>=32n}await i.updateWireIns()})),x(i)}),[i,o,d,y,x]);return n.createElement(A,{...u,ref:r,disabled:f||null===i,maximumValue:l,minimumValue:g,value:t,onValueChange:b})}));$.displayName="FrontPanelNumberEntry";h("");const ee=n.forwardRef(((e,r)=>{const[t,a]=n.useState(0n),{device:i,workQueue:o,eventSource:l}=n.useContext(m),{maximumValue:s,fpEndpoint:d,...f}=e,u=n.useMemo((()=>p(s)),[s]),g=(1n<<BigInt(u))-1n<<BigInt(d.bitOffset),h=n.useCallback((e=>{if(null!=e&&null!=o){let n=e.getWireOutValue(d.epAddress),r=0xffffffffn&g,t=(BigInt(n)&r)>>BigInt(d.bitOffset);if(g>0xffffffffn){let a=32n-BigInt(d.bitOffset),i=g>>32n;for(let o=d.epAddress+1;o<=c.Maximum&&i>0n;o++)n=e.getWireOutValue(o),r=0xffffffffn&i,t|=(BigInt(n)&r)<<a,a+=32n,i>>=32n}a(t)}else a(0n)}),[o,d,g]);return n.useEffect((()=>{h(i);const e=l?.WireOutValuesChangedEvent.Subscribe(h);return()=>{e?.Cancel()}}),[i,l,h]),n.createElement(L,{...f,ref:r,maximumValue:s,minimumValue:0n,value:t})}));ee.displayName="FrontPanelNumberDisplay";const ne=n.forwardRef(((e,r)=>{const[t,a]=n.useState(!1),{device:i,workQueue:o,eventSource:l}=n.useContext(m),{fpEndpoint:s,...c}=e,d=1<<s.bitOffset,f=n.useCallback((e=>{if(null!=e&&null!=o){const n=e.getWireOutValue(s.epAddress);a((n&d)===d)}else a(!1)}),[o,s,d]);return n.useEffect((()=>{f(i);const e=l?.WireOutValuesChangedEvent.Subscribe(f);return()=>{e?.Cancel()}}),[i,l,f]),n.createElement(T,{...c,ref:r,state:t})}));ne.displayName="FrontPanelIndicator";const re=n.forwardRef(((e,r)=>{const{device:t,workQueue:a}=n.useContext(m),{fpEndpoint:i,disabled:o,...l}=e,s=1<<i.bitOffset,c=n.useCallback((async()=>{null!=t&&null!=a&&await a.Post((async()=>{t.setWireInValue(i.epAddress,0,s),await t.updateWireIns()}))}),[t,a,i,s,a]),d=n.useCallback((async()=>{null!=t&&null!=a&&await a.Post((async()=>{t.setWireInValue(i.epAddress,4294967295,s),await t.updateWireIns()}))}),[t,a,i,s,a]);return n.createElement(w,{...l,ref:r,disabled:o||null==t,onButtonUp:c,onButtonDown:d})}));re.displayName="FrontPanelPushButton";const te=n.forwardRef(((e,r)=>{const[t,a]=n.useState(f.Off),{device:i,workQueue:o}=n.useContext(m),{fpEndpoint:l,disabled:s,...c}=e,d=1<<l.bitOffset,u=n.useCallback((e=>{if(null!=e&&null!=o){const n=(e.getWireInValue(l.epAddress)&d)===d?f.On:f.Off;a(n)}else a(f.Off)}),[o,l,d]),p=n.useCallback((async e=>{null!=i&&null!=o&&await o.Post((async()=>{const n=e===f.On?4294967295:0;i.setWireInValue(l.epAddress,n,d),await i.updateWireIns()})),u(i)}),[i,o,l,d]);return n.useEffect((()=>{u(i)}),[i,u]),n.createElement(J,{ref:r,...c,disabled:s||null==i,state:t,onToggleStateChanged:p})}));te.displayName="FrontPanelToggleSwitch";h("");const ae=n.forwardRef(((e,r)=>{const{device:t,workQueue:a}=n.useContext(m),{fpEndpoint:i,disabled:o,...l}=e,s=n.useCallback((async()=>{null!=t&&null!=a&&await a.Post((async()=>{await t.activateTriggerIn(i.epAddress,i.bitOffset)}))}),[t,a,i]);return n.createElement(w,{...l,ref:r,disabled:o||null==t,onButtonDown:s})}));ae.displayName="FrontPanelTriggerButton";const ie=n.forwardRef(((e,r)=>{const[t,a]=n.useState(0n),{device:i,workQueue:o}=n.useContext(m),{fpEndpoint:l,maximumValue:s,disabled:c,...d}=e,f=n.useMemo((()=>p(BigInt(s))),[s]),u=(1n<<BigInt(f))-1n<<BigInt(l.bitOffset),g=n.useCallback((e=>{if(null!=e&&null!=o){const n=e.getWireInValue(l.epAddress),r=(BigInt(n)&u)>>BigInt(l.bitOffset);a(r)}else a(0n)}),[o,l,u]),h=n.useCallback((e=>{null!=i&&null!=o&&o.Post((async()=>{i.setWireInValue(l.epAddress,e<<l.bitOffset,Number(u)),await i.updateWireIns()}))}),[i,o,l,o,u]);return n.useEffect((()=>{g(i)}),[i,g]),n.createElement(M,{...d,ref:r,disabled:c||null==i,defaultValue:Number(t),maximumValue:s,onValueChange:h})}));ie.displayName="FrontPanelRangeSlider";const oe=e=>{const[r,t]=n.useState(0n),{device:a,workQueue:i}=n.useContext(m),{fpEndpoint:o,maximumValue:l,disabled:c,...d}=e,f=n.useMemo((()=>p(l)),[l]),u=(1n<<BigInt(f))-1n<<BigInt(o.bitOffset),g=n.useCallback((e=>{if(null!=e&&null!=i){let n=e.getWireInValue(o.epAddress),r=0xffffffffn&u,a=(BigInt(n)&r)>>BigInt(o.bitOffset);if(u>0xffffffffn){let t=32n-BigInt(o.bitOffset),i=u>>32n;for(let l=o.epAddress+1;l<=s.Maximum&&i>0n;l++)n=e.getWireInValue(l),r=0xffffffffn&i,a|=(BigInt(n)&r)<<t,t+=32n,i>>=32n}t(a)}else t(0n)}),[i,o,u]),h=n.useCallback((e=>{if(null!=a&&null!=i){const n=BigInt(e);i.Post((async()=>{let e=0xffffffffn&u,r=Number(n<<BigInt(o.bitOffset)&e);if(a.setWireInValue(o.epAddress,r,Number(e)),u>0xffffffffn){let t=32n-BigInt(o.bitOffset),i=u>>32n;const l=32-o.epAddress;for(let s=1;s<l&&i>0n;s++)e=0xffffffffn&i,r=Number(n>>t&e),a.setWireInValue(o.epAddress+s,r,Number(e)),t+=32n,i>>=32n}await a.updateWireIns()}))}g(a)}),[a,i,o,g]);return n.useEffect((()=>{g(a)}),[a,g]),n.createElement(H.Root,{...d,disabled:c||null==a,value:r.toString(),onValueChange:h})};oe.displayName="FrontPanelSelectEntryRoot";const le=Object.assign({},{Root:oe,Trigger:Y,Content:U,Item:K,Group:_,Label:Q,Separator:X});export{y as Application,w as Button,p as CalculateBitLength,g as FrontPanel,m as FrontPanelContext,ne as FrontPanelIndicator,ee as FrontPanelNumberDisplay,$ as FrontPanelNumberEntry,re as FrontPanelPushButton,ie as FrontPanelRangeSlider,le as FrontPanelSelectEntry,oe as FrontPanelSelectEntryRoot,te as FrontPanelToggleSwitch,ae as FrontPanelTriggerButton,T as Indicator,D as Label,L as NumberDisplay,A as NumberEntry,d as NumeralSystem,u as NumericDigits,M as RangeSlider,H as SelectEntry,U as SelectEntryContent,_ as SelectEntryGroup,K as SelectEntryItem,Q as SelectEntryLabel,W as SelectEntryRoot,X as SelectEntrySeparator,Y as SelectEntryTrigger,q as Toggle,f as ToggleState,J as ToggleSwitch,x as Tooltip};
|
1
|
+
import*as e from"react";import n,{useContext as r}from"react";import*as t from"@radix-ui/react-tooltip";import a from"classnames";import*as i from"@radix-ui/react-slider";import*as o from"@radix-ui/react-select";import*as l from"@radix-ui/react-scroll-area";import{WIREIN_ADDRESS_RANGE as s,WIREOUT_ADDRESS_RANGE as c}from"@opalkelly/frontpanel-alloy-core";var d,f;!function(e){e[e.Binary=2]="Binary",e[e.Octal=8]="Octal",e[e.Decimal=10]="Decimal",e[e.Hexadecimal=16]="Hexadecimal"}(d||(d={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On"}(f||(f={}));class u{get DigitCount(){return this._DigitCount}get NumeralSystem(){return this._NumeralSystem}get DigitChars(){return this._DigitChars}constructor(e,n){this._DigitCount=e,this._NumeralSystem=n,this._DigitChars=u.GetDigitChars(n)}GetDigitFromValue(e){let n=e%this._NumeralSystem;return n<0&&(n+=this._NumeralSystem),n.toString(this._NumeralSystem)}static GetDigitChars(e){let n;switch(e){case d.Binary:n=u.BINARY_DIGITVALUES;break;case d.Octal:n=u.OCTAL_DIGITVALUES;break;case d.Decimal:n=u.DECIMAL_DIGITVALUES;break;case d.Hexadecimal:n=u.HEXADECIMAL_DIGITVALUES;break;default:n=[]}return n}static ComputeDigitCountFromBits(e,n){const r=(1n<<BigInt(e))-1n;return this.ComputeDigitCountFromValue(r,n)}static ComputeDigitCountFromValue(e,n){const r=BigInt(n);let t,a=e;for(t=0n;t<u.MAX_DIGITS&&0n!==a;t++)a/=r;return t>0n?t:1n}}function p(e){let n=0;if(e>0n){let r=e;for(;r>0n;)r>>=1n,n++}else 0n===e&&(n=1);return n}u.MAX_DIGITS=1024,u.BINARY_DIGITVALUES=["0","1"],u.OCTAL_DIGITVALUES=["0","1","2","3","4","5","6","7"],u.DECIMAL_DIGITVALUES=[...u.OCTAL_DIGITVALUES,"8","9"],u.HEXADECIMAL_DIGITVALUES=[...u.DECIMAL_DIGITVALUES,"A","B","C","D","E","F"];const m=n.createContext({}),g=e=>{const{device:r,workQueue:t,eventSource:a}=e;return n.createElement(m.Provider,{value:{device:r,workQueue:t,eventSource:a}},e.children)};function h(e,n){void 0===n&&(n={});var r=n.insertAt;if(e&&"undefined"!=typeof document){var t=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===r&&t.firstChild?t.insertBefore(a,t.firstChild):t.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}g.displayName="FrontPanel";h("");const y=e.forwardRef(((n,r)=>e.createElement(t.Provider,null,n.children)));y.displayName="Application";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n@font-face {\r\n font-family: "Inter";\r\n src: url("./fonts/Inter-VariableFont_slnt\\,wght.ttf") format("truetype");\r\n}\r\n');h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okButton {\r\n /* Layout */\r\n display: inline-flex;\r\n padding: var(--button-padding, 6px 12px);\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n\r\n /* Style */\r\n border-width: 0px;\r\n border-radius: 4px;\r\n background: var(--brand-12, #44bd84);\r\n\r\n /* Typography */\r\n color: var(--Base-White, #fff);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--button-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 600;\r\n line-height: var(--button-line-height, 12px); /* 100% */\r\n\r\n /* State Pressed */\r\n &:is(:active) {\r\n background: #329466;\r\n }\r\n\r\n /* State Disabled */\r\n &:is(:disabled) {\r\n background: var(--Gray-2, #d0d7df);\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --button-padding: 6px 12px;\r\n --button-font-size: 12px;\r\n --button-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2*/\r\n &:where(.ok-r-size-2) {\r\n --button-padding: 10px 18px;\r\n --button-font-size: 14px;\r\n --button-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3*/\r\n &:where(.ok-r-size-3) {\r\n --button-padding: 18px 22px;\r\n --button-font-size: 20px;\r\n --button-line-height: 20px;\r\n }\r\n}\r\n');h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okTooltipContent {\r\n /* Layout */\r\n display: flex;\r\n padding: 10px;\r\n align-items: flex-end;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n background: var(--Dark, #343434);\r\n\r\n /* Drop shadow - tiny */\r\n box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.24);\r\n\r\n user-select: none;\r\n animation-duration: 200ms;\r\n animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);\r\n will-change: transform, opacity;\r\n}\r\n\r\n.okTooltipContent[data-state="delayed-open"][data-side="top"] {\r\n animation-name: slideDownAndFade;\r\n}\r\n.okTooltipContent[data-state="delayed-open"][data-side="right"] {\r\n animation-name: slideLeftAndFade;\r\n}\r\n.okTooltipContent[data-state="delayed-open"][data-side="bottom"] {\r\n animation-name: slideUpAndFade;\r\n}\r\n.okTooltipContent[data-state="delayed-open"][data-side="left"] {\r\n animation-name: slideRightAndFade;\r\n}\r\n\r\n.okTooltipText {\r\n /* Typography */\r\n color: var(--Light, #fff);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 12px; /* 100% */\r\n}\r\n\r\n@keyframes slideUpAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateY(2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n}\r\n\r\n@keyframes slideRightAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateX(-2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateX(0);\r\n }\r\n}\r\n\r\n@keyframes slideDownAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateY(-2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n}\r\n\r\n@keyframes slideLeftAndFade {\r\n from {\r\n opacity: 0;\r\n transform: translateX(2px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateX(0);\r\n }\r\n}\r\n');const x=n.forwardRef(((e,r)=>{const{children:i,className:o,open:l,defaultOpen:s,onOpenChange:c,delayDuration:d,disableHoverableContent:f,content:u,container:p,forceMount:m,...g}=e,h={open:l,defaultOpen:s,onOpenChange:c,delayDuration:d,disableHoverableContent:f};return n.createElement(t.Root,{...h},n.createElement(t.Trigger,{asChild:!0},i),n.createElement(t.Portal,{container:p,forceMount:m},n.createElement(t.Content,{sideOffset:4,collisionPadding:10,...g,ref:r,className:a("okTooltipContent",o)},n.createElement("p",{className:"okTooltipText"},u))))}));function b(e){return function(r){return null!=r.tooltip?n.createElement(x,{content:r.tooltip},e):e}}x.displayName="Tooltip";const w=n.forwardRef(((e,r)=>{const{className:t,label:i,size:o=1,onButtonUp:l,onButtonDown:s,onButtonClick:c,...d}=e,f=b(n.createElement("button",{"data-disabled":d.disabled||void 0,...d,ref:r,className:a("okButton",t,"ok-r-size-"+o),onMouseDown:s,onMouseUp:l,onClick:c},i));return n.createElement(f,{...e})}));w.displayName="Button";var E;h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okIndicator {\r\n /* Layout */\r\n display: inline-flex;\r\n padding: var(--indicator-padding, 6px 12px);\r\n justify-content: flex-start;\r\n align-items: baseline;\r\n gap: 4px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: var(--Light, #fff);\r\n\r\n /* Indicator Icon Style */\r\n svg.okIndicatorIcon {\r\n width: var(--indicator-icon-width, 9px);\r\n height: var(--indicator-icon-height, 9px);\r\n }\r\n\r\n /* Label Style */\r\n .okIndicatorLabel {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n /* TODO: Determine how to get Inter font */\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--indicator-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: var(--indicator-line-height, 12px); /* 100% */\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --indicator-padding: 6px 12px;\r\n --indicator-font-size: 12px;\r\n --indicator-line-height: 12px;\r\n --indicator-icon-width: 9px;\r\n --indicator-icon-height: 9px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --indicator-padding: 10px 18px;\r\n --indicator-font-size: 14px;\r\n --indicator-line-height: 14px;\r\n --indicator-icon-width: 10px;\r\n --indicator-icon-height: 10px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --indicator-padding: 18px 22px;\r\n --indicator-font-size: 20px;\r\n --indicator-line-height: 20px;\r\n --indicator-icon-width: 15px;\r\n --indicator-icon-height: 15px;\r\n }\r\n}\r\n'),function(e){e[e.Up=0]="Up",e[e.Down=1]="Down"}(E||(E={}));const S=e.forwardRef(((n,r)=>{const{direction:t=E.Down,color:a="#343434",...i}=n;return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"8",viewBox:"0 0 12 8",fill:"none",...i,ref:r},((n,r)=>{let t;return n===E.Up||E.Down,t=e.createElement("path",{d:"M6.75593 7.12713C6.35716 7.58759 5.64284 7.58759 5.24407 7.12713L2.23682 3.65465C1.67594 3.00701 2.136 2 2.99275 2L9.00725 2C9.864 2 10.3241 3.00701 9.76318 3.65465L6.75593 7.12713Z",fill:r}),t})(t,a))}));var k;S.displayName="ChevronIcon",function(e){e[e.Up=0]="Up",e[e.Down=1]="Down"}(k||(k={}));const v=e.forwardRef(((n,r)=>{const{direction:t=k.Down,color:a="#343434",...i}=n;return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"4",viewBox:"0 0 10 4",fill:"none",...i,ref:r},((n,r)=>{let t;switch(n){case k.Up:t=e.createElement("path",{d:"M5 5.1656e-07L10 4L0 4L5 5.1656e-07Z",fill:r});break;case k.Down:t=e.createElement("path",{d:"M5 4L0 0L10 8.88334e-07L5 4Z",fill:r});break;default:t=e.createElement("path",{d:"M5 5.1656e-07L10 4L0 4L5 5.1656e-07Z",fill:r})}return t})(t,a))}));v.displayName="IndicatorArrowIcon";const I=e.forwardRef(((n,r)=>{const{color:t="#343434",...a}=n;return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"1",viewBox:"0 0 10 1",fill:"none",...a,ref:r},e.createElement("path",{d:"M8.74228e-08 -8.74228e-07L10 -9.53674e-07L10 1L0 0.999999L8.74228e-08 -8.74228e-07Z",fill:t}))}));I.displayName="IndicatorBarIcon";const N=e.forwardRef(((n,r)=>{const{state:t,color:a="#D0D7DF",colorOnState:i="#44BD84",colorOffState:o="#D0D7DF"}=n;return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",...n,ref:r},((n,r,t,a)=>{let i;switch(n){case f.On:i=e.createElement("path",{d:"M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10Z",fill:t});break;case f.Off:i=e.createElement("path",{d:"M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10Z",fill:a});break;default:i=e.createElement("path",{d:"M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10Z",fill:r})}return i})(t,a,i,o))}));N.displayName="IndicatorStateIcon";const C=e.forwardRef(((n,r)=>{const{state:t,color:a="#343434",colorOnState:i="#44BD84",...o}=n;return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",...o,ref:r},((n,r,t)=>{let a;switch(n){case f.On:a=e.createElement(e.Fragment,null,e.createElement("circle",{cx:"7",cy:"7",r:"6",stroke:r,strokeWidth:"2"}),e.createElement("circle",{cx:"7",cy:"7",r:"3",fill:t}));break;case f.Off:default:a=e.createElement("circle",{cx:"7",cy:"7",r:"6",stroke:r,strokeWidth:"2"})}return a})(t,a,i))}));C.displayName="RadioToggleStateIcon";const z=e.forwardRef(((n,r)=>{const{state:t,color:a="white",colorOnState:i="white",colorOffState:o="white",...l}=n;return e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"8",height:"8",viewBox:"0 0 8 8",fill:"none",...l,ref:r},((n,r,t,a)=>{let i;switch(n){case f.On:i=e.createElement("circle",{cx:"4",cy:"4",r:"3.75",fill:t});break;case f.Off:i=e.createElement("circle",{cx:"4",cy:"4",r:"3.75",fill:a});break;default:i=e.createElement("circle",{cx:"4",cy:"4",r:"3.75",fill:r})}return i})(t,a,i,o))}));z.displayName="SwitchToggleStateIcon";const T=n.forwardRef(((e,r)=>{const{className:t,label:i,size:o=1,state:l,...s}=e,c=b(n.createElement("span",{...s,ref:r,className:a("okIndicator",t,"ok-r-size-"+o)},n.createElement(N,{className:"okIndicatorIcon",state:l?f.On:f.Off}),n.createElement("span",{className:a("okIndicatorLabel")},i)));return n.createElement(c,{...e})}));T.displayName="Indicator";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okLabel {\r\n /* Layout */\r\n display: inline-flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 4px;\r\n\r\n /* Text Style */\r\n .okLabelText {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 12px; /* 100% */\r\n }\r\n\r\n /* Label Position Left Top*/\r\n &:where(.ok-pos-left-top) {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n }\r\n\r\n /* Label Position Left Bottom*/\r\n &:where(.ok-pos-left-bottom) {\r\n flex-direction: column-reverse;\r\n align-items: flex-start;\r\n }\r\n\r\n /* Label Position Right Top*/\r\n &:where(.ok-pos-right-top) {\r\n flex-direction: column;\r\n align-items: flex-end;\r\n }\r\n\r\n /* Label Position Right Bottom*/\r\n &:where(.ok-pos-right-bottom) {\r\n flex-direction: column-reverse;\r\n align-items: flex-end;\r\n }\r\n}\r\n');const D=n.forwardRef(((e,r)=>{const{className:t,text:i,horizontalPosition:o="left",verticalPosition:l="top",children:s,...c}=e;return n.createElement("div",{...c,ref:r,className:a("okLabel",t,"ok-pos-"+o+"-"+l)},n.createElement("span",{className:a("okLabelText")},i),s)}));D.displayName="Label";h("/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okNumberDisplay {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--number-display-padding, 6px 12px);\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: #f5f5f5;\r\n\r\n /* Content Style */\r\n .okNumberDisplayContent {\r\n display: flex;\r\n padding: var(--spacing-0, 0px);\r\n align-items: center;\r\n justify-content: flex-end;\r\n gap: 8px;\r\n flex: 1 0 0;\r\n }\r\n\r\n /* Text Style */\r\n .okNumberDisplayText {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--number-display-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--number-display-line-height, 12px); /* 100% */\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --number-display-padding: 6px 6px;\r\n --number-display-font-size: 12px;\r\n --number-display-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --number-display-padding: 6px 10px;\r\n --number-display-font-size: 14px;\r\n --number-display-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --number-display-padding: 6px 18px;\r\n --number-display-font-size: 20px;\r\n --number-display-line-height: 20px;\r\n }\r\n}\r\n");const L=n.forwardRef(((e,r)=>{const{className:t,label:i,size:o=1,numeralSystem:l=d.Decimal,decimalScale:s=0,maximumValue:c,minimumValue:f,value:p}=e,m=n.useMemo((()=>{const e=u.ComputeDigitCountFromValue(c,l),n=u.ComputeDigitCountFromValue(f,l);return e>n?e:n}),[c,f,l]),g=n.useMemo((()=>n.createElement("span",{className:a("okNumberDisplayText","ok-r-size-"+o)},"-")),[o]),h=b(n.createElement("div",{ref:r,className:a("okNumberDisplay",t,"ok-r-size-"+o)},n.createElement("div",{className:"okNumberDisplayContent"},p<0n&&g,n.createElement("span",{className:"okNumberDisplayText"},function(e,n,r,t){let a;if(null!=e){const i=e>=0n?e:-e,o=Number(n),l=i.toString(r).padStart(o,"0");if(r===d.Decimal&&t>0){const e=o-t;if(e>0)a=l.slice(0,e)+"."+l.slice(e);else{const n="0.";a=n.padEnd(n.length-e,"0")+l}}else a=l}else a="Error";return a}(p,m,l,s)))));if(null!=i)return n.createElement(D,{...i},n.createElement("div",{style:{width:"100%"}},n.createElement(h,{...e})));n.createElement(h,{...e})}));L.displayName="NumberDisplay";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okNumberEntry {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--number-entry-padding, 6px);\r\n justify-content: flex-end;\r\n align-items: center;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--brand-12, #44bd84);\r\n background: var(--Light, #fff);\r\n\r\n /* Content Style */\r\n .okNumberEntryContent {\r\n display: flex;\r\n height: auto; /*32px;*/\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: var(--spacing-0, 0px);\r\n align-self: stretch;\r\n }\r\n\r\n /* Text Style */\r\n .okNumberEntryText {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--number-entry-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--number-entry-line-height, 12px); /* 100% */\r\n letter-spacing: 1.26px;\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --number-entry-padding: 1px 6px;\r\n --number-entry-font-size: 12px;\r\n --number-entry-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --number-entry-padding: 1px 10px;\r\n --number-entry-font-size: 14px;\r\n --number-entry-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --number-entry-padding: 1px 18px;\r\n --number-entry-font-size: 20px;\r\n --number-entry-line-height: 20px;\r\n }\r\n}\r\n\r\n.okNumberEntry[data-disabled="true"] {\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n opacity: 0.5;\r\n background: var(--Gray-3, #e7ebef);\r\n\r\n pointer-events: none;\r\n}\r\n');h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okDigitEntry {\r\n /* Layout */\r\n display: inline-flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 1px;\r\n\r\n /* Content Style */\r\n .okDigitEntryContent {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--spacing-xxs, 2px);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n /* Style */\r\n border-radius: 1px;\r\n\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--digit-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--digit-line-height, 12px); /* 200% */\r\n letter-spacing: 1.26px;\r\n text-transform: uppercase;\r\n }\r\n\r\n /* Increment Indicator Style */\r\n .okDigitEntryIncrementIndicator {\r\n visibility: hidden;\r\n }\r\n\r\n /* Decrement Indicator Style */\r\n .okDigitEntryDecrementIndicator {\r\n visibility: hidden;\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --digit-font-size: 12px;\r\n --digit-line-height: 12px;\r\n }\r\n\r\n /* Sizes 2 */\r\n &:where(.ok-r-size-2) {\r\n --digit-font-size: 14px;\r\n --digit-line-height: 14px;\r\n }\r\n\r\n /* Sizes 3 */\r\n &:where(.ok-r-size-3) {\r\n --digit-font-size: 20px;\r\n --digit-line-height: 20px;\r\n }\r\n}\r\n\r\ndiv.okDigitEntry:focus {\r\n /* Layout */\r\n display: inline-flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 1px;\r\n\r\n /* Style */\r\n outline: none;\r\n overscroll-behavior: none;\r\n\r\n /* Content Style */\r\n .okDigitEntryContent {\r\n /* Layout */\r\n display: flex;\r\n padding: var(--spacing-xxs, 2px);\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n /* Style */\r\n border-radius: 1px;\r\n background: var(--brand-12, #44bd84);\r\n\r\n /* Typography */\r\n color: var(--Light, #fff);\r\n text-align: center;\r\n font-family: Monaco;\r\n font-size: var(--digit-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: var(--digit-line-height, 12px); /* 200% */\r\n letter-spacing: 1.26px;\r\n }\r\n\r\n .okDigitEntryIncrementIndicator {\r\n visibility: visible;\r\n }\r\n\r\n .okDigitEntryDecrementIndicator {\r\n visibility: visible;\r\n }\r\n\r\n .okDigitEntryIncrementIndicator[data-enabled="false"] {\r\n opacity: 0.25;\r\n }\r\n\r\n .okDigitEntryDecrementIndicator[data-enabled="false"] {\r\n opacity: 0.25;\r\n }\r\n}\r\n');const O=e=>{const r=n.useRef(null),{className:t,variant:i="standard",size:o=1,value:l,maximum:s,minimum:c,numeralSystem:f=d.Decimal,onValueChanged:u}=e,p=n.useRef(l);p.current=e.value;const m=n.useRef(u);m.current=u;n.useEffect((()=>{const e=e=>{e.deltaY<0?(m.current?.(p.current+1,!1),e.stopPropagation(),e.preventDefault()):e.deltaY>0&&(m.current?.(p.current-1,!1),e.stopPropagation(),e.preventDefault())};return r.current?.addEventListener("wheel",e,{passive:!1}),()=>{r.current?.removeEventListener("wheel",e)}}),[r]);const g=null==s||l<s,h=null==c||l>c;return n.createElement("div",{className:a("okDigitEntry",t,"ok-r-size-"+o),ref:r,tabIndex:-1,onMouseEnter:e=>e.currentTarget.focus(),onMouseLeave:e=>e.currentTarget.blur(),onKeyDown:e=>{let n=!1;switch(e.key){case"ArrowUp":u?.(l+1,!1),n=!0;break;case"ArrowDown":u?.(l-1,!1),n=!0;break;case"ArrowRight":{const r=e.currentTarget.nextElementSibling;r?.focus(),n=!0}break;case"ArrowLeft":{const r=e.currentTarget.previousElementSibling;r?.focus(),n=!0}break;default:n=!1}if(n)e.stopPropagation(),e.preventDefault();else{const n=parseInt(e.key,f);if(!Number.isNaN(n)){u?.(n,!0);const r=e.currentTarget.nextElementSibling;r?.focus()}}}},n.createElement((()=>{let e;switch(i){case"standard":e=n.createElement(v,{className:a("okDigitEntryIncrementIndicator"),direction:k.Up,color:"#343434","data-enabled":g});break;case"compact":e=n.createElement(I,{className:a("okDigitEntryIncrementIndicator"),color:"#343434","data-enabled":g});break;default:e=null}return e}),null),n.createElement("div",{className:a("okDigitEntryContent","ok-r-size-"+o)},Math.abs(l).toString(Number(f))),n.createElement((()=>{let e;switch(i){case"standard":e=n.createElement(v,{className:a("okDigitEntryDecrementIndicator"),direction:k.Down,color:"#343434","data-enabled":h});break;case"compact":e=n.createElement(I,{className:a("okDigitEntryDecrementIndicator"),color:"#343434","data-enabled":h});break;default:e=null}return e}),null))};O.displayName="DigitEntry";const R=e=>{const{variant:r="standard",size:t=1,numeralSystem:i,decimalScale:o=0,digitStates:l,onDigitStatesChange:s}=e;return n.createElement(n.Fragment,null,(()=>{const e=l.map(((e,a)=>n.createElement(O,{key:"digit-"+e.id,variant:r,size:t,numeralSystem:i,value:e.value,maximum:e.maximum,minimum:e.minimum,onValueChanged:(e,n)=>{const r=[...l];r[a]={...l[a],value:e},s?.(r,n)}})));if(i===d.Decimal&&o>0){const r=o-e.length;if(r<0)e.splice(o,0,n.createElement("span",{key:"digit-decimal-point",className:a("okNumberEntryText","ok-r-size-"+t)},"."));else{const i="0.",o=i.padEnd(i.length+r,"0");e.push(n.createElement("span",{key:"digit-decimal-prefix",className:a("okNumberEntryText","ok-r-size-"+t)},o))}}return e.reverse()})())};R.displayName="NumberEntryDigits";const A=n.forwardRef(((e,r)=>{const{label:t,tooltip:a,...i}=e,o=null!=t,l=null!=a;return o&&l?n.createElement(D,{...t},n.createElement(x,{content:a},n.createElement("div",{style:{width:"100%"}},n.createElement(V,{ref:r,...i})))):o?n.createElement(D,{...t},n.createElement("div",{style:{width:"100%"}},n.createElement(V,{ref:r,...i}))):l?n.createElement(x,{content:a},n.createElement("div",null,n.createElement(V,{ref:r,...i}))):n.createElement(V,{ref:r,...i})}));A.displayName="NumberEntry";const V=n.forwardRef(((e,r)=>{const{className:t,variant:i="standard",size:o=1,disabled:l=!1,numeralSystem:s=d.Decimal,decimalScale:c=0,maximumValue:f,minimumValue:p,value:m,onValueChange:g}=e,h=n.useMemo((()=>{const e=u.ComputeDigitCountFromValue(f,s),n=u.ComputeDigitCountFromValue(p,s);return Number(e>n?e:n)}),[f,p,s]),y=BigInt(s),x=F(m,f,p,y,h);return n.createElement("div",{ref:r,className:a("okNumberEntry",t,"ok-r-size-"+o),"data-disabled":l||void 0},n.createElement("div",{className:"okNumberEntryContent"},m<0n&&(e=>n.createElement("span",{className:a("okNumberEntryText","ok-r-size-"+e)},"-"))(o),n.createElement(R,{variant:i,size:o,numeralSystem:s,decimalScale:c,digitStates:x,onDigitStatesChange:(e,n)=>{let r=B(e,y);r>=0n!=m>=0n&&0n!==r&&(r+=2n*-m),r<=f&&r>=p&&g?.(r)}})))}));V.displayName="NumberEntryImpl";const B=(e,n)=>{const r=e.length-1;let t=BigInt(e[r].value);for(let a=r-1;a>=0;a--)t=t*n+BigInt(e[a].value);return t},F=(e,n,r,t,a)=>{const i=[];let o=e,l=n-e,s=r-e;for(let e=0;e<a;e++){const n=Number(o%t),r=Math.floor(Number(l+BigInt(n))),a=Math.ceil(Number(s+BigInt(n)));i[e]={id:e,value:n,maximum:P(r,Number(t)),minimum:P(a,Number(t))},o/=t,l/=t,s/=t}return i},P=(e,n)=>{let r;return r=e>=0?e<n?e:void 0:e>-n?e:void 0,r};h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okRangeSlider {\r\n --range-slider-thumb-outline-size: 2px;\r\n --range-slider-thumb-border-size: 2px;\r\n --range-slider-thumb-size: 22px;\r\n --range-slider-track-size: 8px;\r\n\r\n /* Layout */\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n gap: 4px;\r\n align-self: stretch;\r\n width: 100%;\r\n height: fit-content;\r\n\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: right;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 12px; /* 100% */\r\n}\r\n\r\n/* State Disabled */\r\n.okRangeSlider[data-disabled="true"] {\r\n opacity: 0.5;\r\n}\r\n\r\n.okRangeSliderLabel {\r\n width: 100%;\r\n}\r\n\r\n.okRangeSliderRoot {\r\n /* Layout */\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n height: var(--range-slider-thumb-size);\r\n min-width: 100px;\r\n\r\n /* Style */\r\n user-select: none;\r\n touch-action: none;\r\n}\r\n\r\n.okRangeSliderTrack {\r\n /* Layout */\r\n position: relative;\r\n flex-grow: 1;\r\n height: var(--range-slider-track-size);\r\n\r\n /* Style */\r\n background: var(--Gray-2, #d0d7df);\r\n border-radius: 9999px;\r\n}\r\n\r\n.okRangeSliderRange {\r\n /* Layout */\r\n position: absolute;\r\n height: 100%;\r\n\r\n /* Style */\r\n background-color: #44bd84;\r\n border-radius: inherit;\r\n}\r\n\r\n.okRangeSliderThumb {\r\n /* Layout */\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n width: calc(\r\n var(--range-slider-thumb-size) -\r\n (2 * (var(--range-slider-thumb-border-size) + var(--range-slider-thumb-outline-size)))\r\n );\r\n height: calc(\r\n var(--range-slider-thumb-size) -\r\n (2 * (var(--range-slider-thumb-border-size) + var(--range-slider-thumb-outline-size)))\r\n );\r\n\r\n /* Style */\r\n background: var(--Base-White, #fff);\r\n border: var(--range-slider-thumb-border-size) solid var(--brand-12, #44bd84);\r\n border-radius: var(--range-slider-thumb-size);\r\n}\r\n\r\n.okRangeSliderThumb:hover {\r\n background-color: #44bd84;\r\n}\r\n\r\n.okRangeSliderThumb:focus {\r\n outline: none;\r\n box-shadow: 0 0 0 var(--range-slider-thumb-outline-size) #d0d7df;\r\n}\r\n\r\n.okRangeSliderThumbLabel {\r\n /* Layout */\r\n position: absolute;\r\n bottom: -14px;\r\n}\r\n');const M=n.forwardRef(((e,r)=>{const{label:t,tooltip:a,...i}=e,o=null!=t,l=null!=a;return o&&l?n.createElement(D,{className:"okRangeSliderLabel",...t},n.createElement(x,{content:a},n.createElement("div",{style:{width:"100%"}},n.createElement(j,{ref:r,...i})))):o?n.createElement(D,{className:"okRangeSliderLabel",...t},n.createElement("div",{style:{width:"100%"}},n.createElement(j,{ref:r,...i}))):l?n.createElement(x,{content:a},n.createElement("div",{style:{width:"100%"}},n.createElement(j,{ref:r,...i}))):n.createElement(j,{ref:r,...i})}));M.displayName="RangeSlider";const j=n.forwardRef(((e,r)=>{const{className:t,tooltip:o,minimumValue:l=0,maximumValue:s=100,onValueChange:c,defaultValue:d=l,value:f,valueStep:u=1,showThumbLabel:p=!0,showTrackLabels:m=!0,disabled:g=!1}=e,h=f??d,[y,b]=n.useState([h]);n.useEffect((()=>{b([h])}),[h]);const w=n.useCallback((e=>{b([e]),c?.(e)}),[c]),E=()=>n.createElement(i.Track,{className:"okRangeSliderTrack"},n.createElement(i.Range,{className:"okRangeSliderRange"})),S=null!=o;return n.createElement("div",{className:a("okRangeSlider",t),"data-disabled":g||void 0},m?n.createElement("span",null,l):null,n.createElement(i.Root,{ref:r,min:l,max:s,step:u,value:y,onValueChange:e=>w(e[0]),orientation:"horizontal",className:"okRangeSliderRoot",disabled:g},S?n.createElement(x,{content:o},n.createElement(E,null)):n.createElement(E,null),n.createElement(i.Thumb,{className:"okRangeSliderThumb"},p?n.createElement("div",{className:"okRangeSliderThumbLabel"},y):null)),m?n.createElement("span",null,s):null)}));j.displayName="RangeSliderImpl";const G=n.createContext({label:{text:"",horizontalPosition:"right",verticalPosition:"top"},size:1,value:void 0}),W=e=>{const{label:r,children:t,size:a=1,tooltip:i,value:l,...s}=e;return n.createElement(o.Root,{value:l,...s},n.createElement(G.Provider,{value:n.useMemo((()=>({label:r,size:a,tooltip:i,value:l})),[r,a,i,l])},t))};W.displayName="SelectEntryRoot";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryContent {\r\n /* Layout */\r\n width: var(--radix-select-trigger-width);\r\n max-height: var(--radix-select-content-available-height);\r\n display: flex;\r\n padding: 10px 18px;\r\n flex-direction: column;\r\n overflow: hidden;\r\n justify-content: center;\r\n align-items: stretch;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: var(--Light, #fff);\r\n box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.24);\r\n\r\n .okSelectEntryContentInner {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 10px;\r\n }\r\n\r\n /* ScrollArea Root Style */\r\n .okScrollArea {\r\n display: flex;\r\n flex-direction: column;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n /* ScrollArea Viewport Style */\r\n .okScrollAreaViewport {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n gap: 10px;\r\n\r\n /* Stop Chrome back/forward two-finger swipe */\r\n overscroll-behavior-x: contain;\r\n\r\n &:where(:focus-visible) + :where(.rt-ScrollAreaViewportFocusRing) {\r\n position: absolute;\r\n inset: 0;\r\n pointer-events: none;\r\n outline: 2px solid var(--focus-8);\r\n outline-offset: -2px;\r\n }\r\n }\r\n\r\n /* ScrollArea Scrollbar Style */\r\n .okScrollAreaScrollbar {\r\n display: flex;\r\n /* Ensures no selection */\r\n user-select: none;\r\n /* Disable browser handling of all panning and zooming gestures on touch devices */\r\n touch-action: none;\r\n\r\n &:where([data-orientation="vertical"]) {\r\n flex-direction: column;\r\n width: 4px;\r\n }\r\n &:where([data-orientation="horizontal"]) {\r\n flex-direction: row;\r\n height: 4px;\r\n }\r\n }\r\n\r\n /* ScrollArea Thumb Style */\r\n .okScrollAreaThumb {\r\n position: relative;\r\n\r\n &::before {\r\n content: "";\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n width: 100%;\r\n height: 100%;\r\n min-width: var(--space-4);\r\n min-height: var(--space-4);\r\n }\r\n }\r\n}\r\n');const U=n.forwardRef(((e,r)=>{const{className:t,children:i,container:s,...c}=e,{size:d}=n.useContext(G);return n.createElement(o.Portal,{container:s},n.createElement(o.Content,{sideOffset:4,...c,ref:r,className:a("okSelectEntryContent",t,"ok-r-size-"+d),position:"popper",align:"start"},n.createElement(l.Root,{type:"auto",className:"okScrollArea"},n.createElement(o.Viewport,{asChild:!0},n.createElement(l.Viewport,{className:"okScrollAreaViewport"},n.createElement("div",{className:"okSelectEntryContentInner"},i))),n.createElement(l.Scrollbar,{className:"okScrollAreaScrollbar",orientation:"vertical"},n.createElement(l.Thumb,{className:"okScrollAreaThumb"})))))}));U.displayName="SelectEntryContent";h("/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryGroup {\r\n /* Layout */\r\n display: flex;\r\n padding: 0px;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n align-self: stretch;\r\n gap: 10px;\r\n}\r\n");const _=n.forwardRef(((e,r)=>n.createElement(o.Group,{...e,ref:r,className:a("okSelectEntryGroup",e.className)})));_.displayName="SelectEntryGroup";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryItem {\r\n /* Layout */\r\n display: flex;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n /* Style */\r\n color: var(--Dark, #343434);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 14px; /* 100% */\r\n\r\n /* Indicator Style */\r\n .okSelectEntryItemIndicator {\r\n width: 14px;\r\n height: 14px;\r\n }\r\n}\r\n\r\n.okSelectEntryItem[data-disabled] {\r\n opacity: 0.5;\r\n pointer-events: none;\r\n}\r\n.okSelectEntryItem[data-highlighted] {\r\n outline: none;\r\n}\r\n');const K=n.forwardRef(((e,r)=>{const{className:t,children:i,...l}=e,{size:s,value:c}=n.useContext(G);return n.createElement(o.Item,{...l,ref:r,className:a("okSelectEntryItem",t,"ok-r-size-"+s)},n.createElement(C,{state:c===e.value?f.On:f.Off}),n.createElement(o.ItemText,null,i))}));K.displayName="SelectEntryItem";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryLabel {\r\n /* Typography */\r\n color: var(--Gray-1, #989da3);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 10px;\r\n font-style: normal;\r\n font-weight: 300;\r\n line-height: 12px; /* 120% */\r\n}\r\n');const Q=n.forwardRef(((e,r)=>{const{className:t,...i}=e,{size:l}=n.useContext(G);return n.createElement(o.Label,{...i,ref:r,className:a("okSelectEntryLabel",t,"ok-r-size-"+l)})}));Q.displayName="SelectEntryLabel";h("/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntrySeparator {\r\n height: 1px;\r\n\r\n background: #d0d7df;\r\n}\r\n");const X=n.forwardRef(((e,r)=>n.createElement(o.Separator,{...e,ref:r,className:a("okSelectEntrySeparator",e.className)})));X.displayName="SelectEntrySeparator";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okSelectEntryTrigger {\r\n /* Layout */\r\n display: flex;\r\n padding: 0px 18px;\r\n justify-content: space-between;\r\n align-items: center;\r\n gap: 8px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n border: 1px solid var(--Gray-2, #d0d7df);\r\n background: var(--Light, #fff);\r\n\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: 14px;\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: 14px; /* 100% */\r\n\r\n /* State Disabled */\r\n &:is(:disabled) {\r\n opacity: 0.5;\r\n background: var(--Gray-3, #e7ebef);\r\n }\r\n}\r\n\r\n.okSelectEntryTriggerInner {\r\n /* Layout */\r\n padding: 10px 0px;\r\n\r\n /* Style */\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n}\r\n\r\n/* State Disabled */\r\n.okSelectEntryTrigger[data-disabled="true"] {\r\n opacity: 0.5;\r\n}\r\n');const Y=n.forwardRef(((e,t)=>{const{label:a,tooltip:i,...o}=r(G),l=null!=a,s=null!=i;return l&&s?n.createElement(D,{...a},n.createElement(x,{content:i},n.createElement(Z,{ref:t,...e,style:{width:"100%"}}))):l?n.createElement(D,{...a},n.createElement(Z,{ref:t,...o,style:{width:"100%"}})):s?n.createElement(x,{content:i},n.createElement("div",null,n.createElement(Z,{ref:t,...o}))):n.createElement(Z,{ref:t,...o})}));Y.displayName="SelectEntryTrigger";const Z=n.forwardRef(((e,r)=>{const{className:t,placeholder:i,...l}=e,{size:s}=n.useContext(G);return n.createElement(o.Trigger,{asChild:!0},n.createElement("button",{...l,ref:r,className:a("okSelectEntryTrigger",t,"ok-r-size-"+s)},n.createElement("span",{className:"okSelectEntryTriggerInner"},n.createElement(o.Value,{placeholder:i})),n.createElement(o.Icon,{asChild:!0},n.createElement(S,{direction:E.Down}))))}));Z.displayName="SelectEntryTriggerImpl";const H=Object.assign({},{Root:W,Trigger:Y,Content:U,Item:K,Group:_,Label:Q,Separator:X});h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okToggle {\r\n /* Layout */\r\n display: inline-flex;\r\n padding: var(--toggle-padding, 6px 12px);\r\n justify-content: center;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n color: var(--base-white, #fff);\r\n\r\n /* Style */\r\n border-width: 0px;\r\n border-radius: 4px;\r\n background: var(--brand-12, #44bd84);\r\n\r\n /* Typography */\r\n color: var(--Base-White, #fff);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--toggle-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 600;\r\n line-height: 12px; /* 100% */\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --toggle-padding: 6px 12px;\r\n --toggle-font-size: 12px;\r\n --toggle-line-height: 12px;\r\n }\r\n\r\n /* Size 2 */\r\n &:where(.ok-r-size-2) {\r\n --toggle-padding: 10px 18px;\r\n --toggle-font-size: 14px;\r\n --toggle-line-height: 14px;\r\n }\r\n\r\n /* Size 3 */\r\n &:where(.ok-r-size-3) {\r\n --toggle-padding: 18px 22px;\r\n --toggle-font-size: 20px;\r\n --toggle-line-height: 20px;\r\n }\r\n}\r\n\r\n/* State Disabled */\r\n.okToggle[data-disabled="true"] {\r\n background: var(--Gray-2, #d0d7df);\r\n}\r\n\r\n/* State On */\r\n.okToggle[data-state="on"]:not([data-disabled="true"]) {\r\n background: #329466;\r\n}\r\n\r\n/* State Off */\r\n.okToggle[data-state="off"]:not([data-disabled="true"]) {\r\n background: var(--brand-12, #44bd84);\r\n}\r\n');const q=n.forwardRef(((e,r)=>{const{className:t,size:i=1,disabled:o=!1,tooltip:l,state:s,children:c,onToggleStateChanged:d,...u}=e,p=n.useMemo((()=>{switch(s){case f.On:return"on";case f.Off:return"off";default:return"indeterminate"}}),[s]),m=n.useCallback((()=>{const e=s===f.On?f.Off:f.On;d?.(e)}),[s]);return n.createElement("button",{"data-disabled":o||void 0,ref:r,...u,className:a("okToggle",t,"ok-r-size-"+i),"data-state":p,onClick:m},c)}));q.displayName="Toggle";h('/**\r\n * Copyright (c) 2024 Opal Kelly Incorporated\r\n *\r\n * This source code is licensed under the FrontPanel license.\r\n * See the LICENSE file found in the root directory of this project.\r\n */\r\n\r\n.okToggleSwitchRoot {\r\n /* Layout */\r\n display: inline-flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 4px;\r\n\r\n /* Style */\r\n border-radius: 4px;\r\n\r\n /* Switch Style */\r\n .okToggleSwitch {\r\n /* Layout */\r\n display: flex;\r\n width: var(--toggle-switch-width, 16.5px);\r\n height: var(--toggle-switch-height, 9px);\r\n padding: var(--toggle-switch-padding, 0.75px);\r\n align-items: center;\r\n\r\n /* Style */\r\n border-width: 0px;\r\n border-radius: var(--toggle-switch-border-radius, 4.5px);\r\n background: var(--Gray-2, #d0d7df);\r\n\r\n /* Switch Icon Style */\r\n .okIndicatorIcon {\r\n width: var(--toggle-switch-icon-width, 9px);\r\n height: var(--toggle-switch-icon-height, 9px);\r\n }\r\n }\r\n\r\n /* Label Style */\r\n .okToggleSwitchLabel {\r\n /* Typography */\r\n color: var(--Dark, #343434);\r\n text-align: center;\r\n font-family: Inter, "Nunito Sans", sans-serif, ui-sans-serif;\r\n font-size: var(--toggle-switch-font-size, 12px);\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: var(--toggle-switch-line-height, 12px); /* 100% */\r\n }\r\n\r\n /* Size 1 */\r\n &:where(.ok-r-size-1) {\r\n --toggle-switch-width: 16.5px;\r\n --toggle-switch-height: 9px;\r\n\r\n --toggle-switch-padding: 0.75px;\r\n --toggle-switch-border-radius: 4.5px;\r\n\r\n --toggle-switch-font-size: 12px;\r\n --toggle-switch-line-height: 12px;\r\n\r\n --toggle-switch-icon-width: 7.5px;\r\n --toggle-switch-icon-height: 7.5px;\r\n }\r\n\r\n /* Sizes 2*/\r\n &:where(.ok-r-size-2) {\r\n --toggle-switch-width: 18.333px;\r\n --toggle-switch-height: 10px;\r\n\r\n --toggle-switch-padding: 0.883px;\r\n --toggle-switch-border-radius: 5px;\r\n\r\n --toggle-switch-font-size: 14px;\r\n --toggle-switch-line-height: 14px;\r\n\r\n --toggle-switch-icon-width: 8.33px;\r\n --toggle-switch-icon-height: 8.33px;\r\n }\r\n\r\n /* Sizes 3*/\r\n &:where(.ok-r-size-3) {\r\n --toggle-switch-width: 27.5px;\r\n --toggle-switch-height: 15px;\r\n\r\n --toggle-switch-padding: 1.25px;\r\n --toggle-switch-border-radius: 7.5px;\r\n\r\n --toggle-switch-font-size: 20px;\r\n --toggle-switch-line-height: 20px;\r\n\r\n --toggle-switch-icon-width: 12.5px;\r\n --toggle-switch-icon-height: 12.5px;\r\n }\r\n}\r\n\r\n/* State Disabled */\r\n.okToggleSwitchRoot[data-disabled="true"] {\r\n opacity: 0.5;\r\n}\r\n\r\n/* State On */\r\n.okToggleSwitch[data-state="on"] {\r\n justify-content: flex-end;\r\n}\r\n\r\n.okToggleSwitch[data-state="on"]:not([data-disabled="true"]) {\r\n background: var(--brand-12, #44bd84);\r\n}\r\n\r\n/* State Off */\r\n.okToggleSwitch[data-state="off"] {\r\n justify-content: flex-start;\r\n}\r\n\r\n.okToggleSwitch[data-state="off"]:not([data-disabled="true"]) {\r\n background: var(--Gray-2, #d0d7df);\r\n}\r\n');const J=n.forwardRef(((e,r)=>{const{className:t,size:i=1,label:o,disabled:l=!1,state:s,...c}=e,d=b(n.createElement("span",{className:a("okToggleSwitchRoot",t,"ok-r-size-"+i),"data-disabled":l||void 0},n.createElement(q,{className:a("okToggleSwitch"),ref:r,...c,size:i,disabled:l,state:s},n.createElement(z,{className:"okIndicatorIcon",state:s})),n.createElement("span",{className:a("okToggleSwitchLabel")},o)));return n.createElement(d,{...e})}));J.displayName="ToggleSwitch";const $=n.forwardRef(((e,r)=>{const[t,a]=n.useState(e.minimumValue??0n),{device:i,workQueue:o}=n.useContext(m),{maximumValue:l,minimumValue:c,fpEndpoint:d,disabled:f,...u}=e,g=n.useMemo((()=>void 0!==c?function(e,n,r){let t;t=e<r?r:e>n?n:e;return t}(c,l,0n):0n),[c,l]),h=n.useMemo((()=>p(l)),[l]),y=(1n<<BigInt(h))-1n<<BigInt(d.bitOffset),x=n.useCallback((e=>{if(null!=e&&null!=o){let n=e.getWireInValue(d.epAddress),r=0xffffffffn&y,t=(BigInt(n)&r)>>BigInt(d.bitOffset);if(y>0xffffffffn){let a=32n-BigInt(d.bitOffset),i=y>>32n;for(let o=d.epAddress+1;o<=s.maximum&&i>0n;o++)n=e.getWireInValue(o),r=0xffffffffn&i,t|=(BigInt(n)&r)<<a,a+=32n,i>>=32n}a(t)}else a(0n)}),[o,d,y]);n.useEffect((()=>{x(i)}),[i,x]);const b=n.useCallback((async e=>{null!=i&&null!=o&&await o.post((async()=>{let n=0xffffffffn&y,r=Number(e<<BigInt(d.bitOffset)&n);if(i.setWireInValue(d.epAddress,r,Number(n)),y>0xffffffffn){let t=32n-BigInt(d.bitOffset),a=y>>32n;for(let o=d.epAddress+1;o<=s.maximum&&a>0n;o++)n=0xffffffffn&a,r=Number(e>>t&n),i.setWireInValue(o,r,Number(n)),t+=32n,a>>=32n}await i.updateWireIns()})),x(i)}),[i,o,d,y,x]);return n.createElement(A,{...u,ref:r,disabled:f||null===i,maximumValue:l,minimumValue:g,value:t,onValueChange:b})}));$.displayName="FrontPanelNumberEntry";h("");const ee=n.forwardRef(((e,r)=>{const[t,a]=n.useState(0n),{device:i,workQueue:o,eventSource:l}=n.useContext(m),{maximumValue:s,fpEndpoint:d,...f}=e,u=n.useMemo((()=>p(s)),[s]),g=(1n<<BigInt(u))-1n<<BigInt(d.bitOffset),h=n.useCallback((e=>{if(null!=e&&null!=o){let n=e.getWireOutValue(d.epAddress),r=0xffffffffn&g,t=(BigInt(n)&r)>>BigInt(d.bitOffset);if(g>0xffffffffn){let a=32n-BigInt(d.bitOffset),i=g>>32n;for(let o=d.epAddress+1;o<=c.maximum&&i>0n;o++)n=e.getWireOutValue(o),r=0xffffffffn&i,t|=(BigInt(n)&r)<<a,a+=32n,i>>=32n}a(t)}else a(0n)}),[o,d,g]);return n.useEffect((()=>{h(i);const e=l?.wireOutValuesChangedEvent.subscribe(h);return()=>{e?.cancel()}}),[i,l,h]),n.createElement(L,{...f,ref:r,maximumValue:s,minimumValue:0n,value:t})}));ee.displayName="FrontPanelNumberDisplay";const ne=n.forwardRef(((e,r)=>{const[t,a]=n.useState(!1),{device:i,workQueue:o,eventSource:l}=n.useContext(m),{fpEndpoint:s,...c}=e,d=1<<s.bitOffset,f=n.useCallback((e=>{if(null!=e&&null!=o){const n=e.getWireOutValue(s.epAddress);a((n&d)===d)}else a(!1)}),[o,s,d]);return n.useEffect((()=>{f(i);const e=l?.wireOutValuesChangedEvent.subscribe(f);return()=>{e?.cancel()}}),[i,l,f]),n.createElement(T,{...c,ref:r,state:t})}));ne.displayName="FrontPanelIndicator";const re=n.forwardRef(((e,r)=>{const{device:t,workQueue:a}=n.useContext(m),{fpEndpoint:i,disabled:o,...l}=e,s=1<<i.bitOffset,c=n.useCallback((async()=>{null!=t&&null!=a&&await a.post((async()=>{t.setWireInValue(i.epAddress,0,s),await t.updateWireIns()}))}),[t,a,i,s,a]),d=n.useCallback((async()=>{null!=t&&null!=a&&await a.post((async()=>{t.setWireInValue(i.epAddress,4294967295,s),await t.updateWireIns()}))}),[t,a,i,s,a]);return n.createElement(w,{...l,ref:r,disabled:o||null==t,onButtonUp:c,onButtonDown:d})}));re.displayName="FrontPanelPushButton";const te=n.forwardRef(((e,r)=>{const[t,a]=n.useState(f.Off),{device:i,workQueue:o}=n.useContext(m),{fpEndpoint:l,disabled:s,...c}=e,d=1<<l.bitOffset,u=n.useCallback((e=>{if(null!=e&&null!=o){const n=(e.getWireInValue(l.epAddress)&d)===d?f.On:f.Off;a(n)}else a(f.Off)}),[o,l,d]),p=n.useCallback((async e=>{null!=i&&null!=o&&await o.post((async()=>{const n=e===f.On?4294967295:0;i.setWireInValue(l.epAddress,n,d),await i.updateWireIns()})),u(i)}),[i,o,l,d]);return n.useEffect((()=>{u(i)}),[i,u]),n.createElement(J,{ref:r,...c,disabled:s||null==i,state:t,onToggleStateChanged:p})}));te.displayName="FrontPanelToggleSwitch";h("");const ae=n.forwardRef(((e,r)=>{const{device:t,workQueue:a}=n.useContext(m),{fpEndpoint:i,disabled:o,...l}=e,s=n.useCallback((async()=>{null!=t&&null!=a&&await a.post((async()=>{await t.activateTriggerIn(i.epAddress,i.bitOffset)}))}),[t,a,i]);return n.createElement(w,{...l,ref:r,disabled:o||null==t,onButtonDown:s})}));ae.displayName="FrontPanelTriggerButton";const ie=n.forwardRef(((e,r)=>{const[t,a]=n.useState(0n),{device:i,workQueue:o}=n.useContext(m),{fpEndpoint:l,maximumValue:s,disabled:c,...d}=e,f=n.useMemo((()=>p(BigInt(s))),[s]),u=(1n<<BigInt(f))-1n<<BigInt(l.bitOffset),g=n.useCallback((e=>{if(null!=e&&null!=o){const n=e.getWireInValue(l.epAddress),r=(BigInt(n)&u)>>BigInt(l.bitOffset);a(r)}else a(0n)}),[o,l,u]),h=n.useCallback((e=>{null!=i&&null!=o&&o.post((async()=>{i.setWireInValue(l.epAddress,e<<l.bitOffset,Number(u)),await i.updateWireIns()}))}),[i,o,l,o,u]);return n.useEffect((()=>{g(i)}),[i,g]),n.createElement(M,{...d,ref:r,disabled:c||null==i,defaultValue:Number(t),maximumValue:s,onValueChange:h})}));ie.displayName="FrontPanelRangeSlider";const oe=e=>{const[r,t]=n.useState(0n),{device:a,workQueue:i}=n.useContext(m),{fpEndpoint:o,maximumValue:l,disabled:c,...d}=e,f=n.useMemo((()=>p(l)),[l]),u=(1n<<BigInt(f))-1n<<BigInt(o.bitOffset),g=n.useCallback((e=>{if(null!=e&&null!=i){let n=e.getWireInValue(o.epAddress),r=0xffffffffn&u,a=(BigInt(n)&r)>>BigInt(o.bitOffset);if(u>0xffffffffn){let t=32n-BigInt(o.bitOffset),i=u>>32n;for(let l=o.epAddress+1;l<=s.maximum&&i>0n;l++)n=e.getWireInValue(l),r=0xffffffffn&i,a|=(BigInt(n)&r)<<t,t+=32n,i>>=32n}t(a)}else t(0n)}),[i,o,u]),h=n.useCallback((e=>{if(null!=a&&null!=i){const n=BigInt(e);i.post((async()=>{let e=0xffffffffn&u,r=Number(n<<BigInt(o.bitOffset)&e);if(a.setWireInValue(o.epAddress,r,Number(e)),u>0xffffffffn){let t=32n-BigInt(o.bitOffset),i=u>>32n;const l=32-o.epAddress;for(let s=1;s<l&&i>0n;s++)e=0xffffffffn&i,r=Number(n>>t&e),a.setWireInValue(o.epAddress+s,r,Number(e)),t+=32n,i>>=32n}await a.updateWireIns()}))}g(a)}),[a,i,o,g]);return n.useEffect((()=>{g(a)}),[a,g]),n.createElement(H.Root,{...d,disabled:c||null==a,value:r.toString(),onValueChange:h})};oe.displayName="FrontPanelSelectEntryRoot";const le=Object.assign({},{Root:oe,Trigger:Y,Content:U,Item:K,Group:_,Label:Q,Separator:X});export{y as Application,w as Button,p as CalculateBitLength,g as FrontPanel,m as FrontPanelContext,ne as FrontPanelIndicator,ee as FrontPanelNumberDisplay,$ as FrontPanelNumberEntry,re as FrontPanelPushButton,ie as FrontPanelRangeSlider,le as FrontPanelSelectEntry,oe as FrontPanelSelectEntryRoot,te as FrontPanelToggleSwitch,ae as FrontPanelTriggerButton,T as Indicator,D as Label,L as NumberDisplay,A as NumberEntry,d as NumeralSystem,u as NumericDigits,M as RangeSlider,H as SelectEntry,U as SelectEntryContent,_ as SelectEntryGroup,K as SelectEntryItem,Q as SelectEntryLabel,W as SelectEntryRoot,X as SelectEntrySeparator,Y as SelectEntryTrigger,q as Toggle,f as ToggleState,J as ToggleSwitch,x as Tooltip};
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/core/Types.ts","../../src/core/Numeric.ts","../../src/core/Binary.ts","../../src/contexts/FrontPanelContext.ts","../../src/components/FrontPanel/FrontPanel.tsx","../../node_modules/style-inject/dist/style-inject.es.js","../../src/primitives/Application/Application.tsx","../../src/primitives/Tooltip/Tooltip.tsx","../../src/primitives/TooltipUtility.tsx","../../src/primitives/Button/Button.tsx","../../src/components/Icons/ChevronIcon.tsx","../../src/components/Icons/IndicatorArrowIcon.tsx","../../src/components/Icons/IndicatorBarIcon.tsx","../../src/components/Icons/IndicatorStateIcon.tsx","../../src/components/Icons/RadioToggleStateIcon.tsx","../../src/components/Icons/SwitchToggleStateIcon.tsx","../../src/primitives/Indicator/Indicator.tsx","../../src/primitives/Label/Label.tsx","../../src/primitives/NumberDisplay/NumberDisplay.tsx","../../src/primitives/DigitEntry/DigitEntry.tsx","../../src/primitives/NumberEntry/NumberEntryDigits.tsx","../../src/primitives/NumberEntry/NumberEntry.tsx","../../src/primitives/RangeSlider/RangeSlider.tsx","../../src/primitives/SelectEntry/SelectEntryRoot.tsx","../../src/primitives/SelectEntry/SelectEntryContent.tsx","../../src/primitives/SelectEntry/SelectEntryGroup.tsx","../../src/primitives/SelectEntry/SelectEntryItem.tsx","../../src/primitives/SelectEntry/SelectEntryLabel.tsx","../../src/primitives/SelectEntry/SelectEntrySeparator.tsx","../../src/primitives/SelectEntry/SelectEntryTrigger.tsx","../../src/primitives/SelectEntry/SelectEntry.tsx","../../src/primitives/Toggle/Toggle.tsx","../../src/primitives/ToggleSwitch/ToggleSwitch.tsx","../../src/components/FrontPanelNumberEntry/FrontPanelNumberEntry.tsx","../../src/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.tsx","../../src/components/FrontPanelIndicator/FrontPanelIndicator.tsx","../../src/components/FrontPanelPushButton/FrontPanelPushButton.tsx","../../src/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.tsx","../../src/components/FrontPanelTriggerButton/FrontPanelTriggerButton.tsx","../../src/components/FrontPanelRangeSlider/FrontPanelRangeSlider.tsx","../../src/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.tsx","../../src/components/FrontPanelSelectEntry/FrontPanelSelectEntry.tsx"],"sourcesContent":[null,null,null,null,null,"function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["NumeralSystem","ToggleState","NumericDigits","DigitCount","this","_DigitCount","_NumeralSystem","DigitChars","_DigitChars","constructor","digitCount","numeralSystem","GetDigitChars","GetDigitFromValue","value","targetDigitValue","toString","numeral","retval","Binary","BINARY_DIGITVALUES","Octal","OCTAL_DIGITVALUES","Decimal","DECIMAL_DIGITVALUES","Hexadecimal","HEXADECIMAL_DIGITVALUES","ComputeDigitCountFromBits","bitcount","maxValue","BigInt","ComputeDigitCountFromValue","radix","digitIndex","val","MAX_DIGITS","CalculateBitLength","bitLength","targetValue","FrontPanelContext","React","createContext","FrontPanel","props","device","workQueue","eventSource","createElement","Provider","children","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","displayName","Application","forwardRef","_forwardedRef","TooltipPrimitive","Tooltip","forwardedRef","className","open","defaultOpen","onOpenChange","delayDuration","disableHoverableContent","content","container","forceMount","tooltipContentProps","rootProps","Root","Trigger","asChild","Portal","Content","sideOffset","collisionPadding","classNames","withTooltip","targetComponent","tooltip","Button","label","size","onButtonUp","onButtonDown","onButtonClick","buttonProps","ButtonWithTooltip","disabled","undefined","onMouseDown","onMouseUp","onClick","ChevronDirection","ChevronIcon","direction","Down","color","iconProps","xmlns","width","height","viewBox","fill","arrow","Up","d","DirectionChevron","IndicatorArrowDirection","IndicatorArrowIcon","IndicatorArrow","IndicatorBarIcon","IndicatorStateIcon","state","colorOnState","colorOffState","icon","On","Off","StateIcon","RadioToggleStateIcon","Fragment","cx","cy","r","stroke","strokeWidth","SwitchToggleStateIcon","Indicator","indicatorProps","IndicatorWithTooltip","classnames","Label","text","horizontalPosition","verticalPosition","labelProps","NumberDisplay","decimalScale","maximumValue","minimumValue","useMemo","maximumValueDigitCount","minimumValueDigitCount","negativeSign","NumberDisplayWithTooltip","outputValue","outputDigitCount","Number","outputValueStr","padStart","integerDigitCount","slice","prefixString","padEnd","length","FormatValueString","DigitEntry","digitEntryRef","useRef","variant","maximum","minimum","onValueChanged","valueRef","current","valueChangedRef","useEffect","onDigitMouseWheelEventHandler","event","deltaY","stopPropagation","preventDefault","addEventListener","passive","removeEventListener","canIncrement","canDecrement","tabIndex","onMouseEnter","e","currentTarget","focus","onMouseLeave","blur","onKeyDown","isHandled","key","nextElement","nextElementSibling","previousElement","previousElementSibling","numericValue","parseInt","isNaN","indicator","Math","abs","NumberEntryDigits","digitStates","onDigitStatesChange","digitEntries","map","digitState","id","isKeyDown","newDigitStates","excessDecimalScale","splice","paddedPrefixString","push","reverse","digitListItems","NumberEntry","sliderProps","showLabel","showTooltip","NumberEntryImpl","onValueChange","ComputeDigitStatesFromValue","NegativeSign","_isKeyDown","newValue","ComputeValueFromDigitStates","startDigitIndex","currentValue","currentMaxDifference","currentMinDifference","digitValue","digitMaximum","floor","digitMinimum","ceil","ComputeDigitLimitValue","digitValueDifference","RangeSlider","RangeSliderImpl","defaultValue","valueStep","showThumbLabel","showTrackLabels","initialValue","controlValue","setControlValue","useState","updateControlValue","useCallback","RangeSliderTrack","SliderPrimitive","Track","Range","min","max","step","orientation","Thumb","SelectEntryContext","SelectEntryRoot","SelectPrimitive","SelectEntryContent","contentProps","useContext","position","align","ScrollAreaPrimitive","Viewport","Scrollbar","SelectEntryGroup","Group","SelectEntryItem","itemProps","Item","ItemText","SelectEntryLabel","SelectEntrySeparator","Separator","SelectEntryTrigger","triggerProps","SelectEntryTriggerImpl","placeholder","Value","Icon","SelectEntry","Object","assign","Toggle","onToggleStateChanged","toggleProps","dataState","OnButtonClick","newState","ToggleSwitch","toggleSwitchProps","ToggleButtonWithTooltip","FrontPanelNumberEntry","setValue","fpEndpoint","clampedMinimumValue","maximumLimit","minimumLimit","ClampValue","targetBitLength","targetWireSpanBitMask","bitOffset","onUpdateWireValue","sender","sourceWireValue","getWireInValue","epAddress","targetWireBitMask","sourceSpanValue","currentWireSpanBitOffset","currentWireSpanBitMask","sourceWireAddress","WIREIN_ADDRESS_RANGE","Maximum","onNumberEntryValueChange","async","Post","targetWireValue","setWireInValue","targetWireAddress","updateWireIns","FrontPanelNumberDisplay","getWireOutValue","WIREOUT_ADDRESS_RANGE","subscription","WireOutValuesChangedEvent","Subscribe","Cancel","FrontPanelIndicator","bitValue","setBitValue","FrontPanelPushButton","FrontPanelToggleSwitch","setState","newToggleState","FrontPanelTriggerButton","activateTriggerIn","FrontPanelRangeSlider","sourceValue","onSelectedValueChangeHandler","FrontPanelSelectEntryRoot","targetWireSpanValue","maxWireCount","wireIndex","FrontPanelSelectEntry"],"mappings":"yWAUYA,EAyBAC,GAzBZ,SAAYD,GAIRA,EAAAA,EAAA,OAAA,GAAA,SAKAA,EAAAA,EAAA,MAAA,GAAA,QAKAA,EAAAA,EAAA,QAAA,IAAA,UAKAA,EAAAA,EAAA,YAAA,IAAA,aACH,CApBD,CAAYA,IAAAA,EAoBX,CAAA,IAKD,SAAYC,GACRA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,GAAA,GAAA,IACH,CAHD,CAAYA,IAAAA,EAGX,CAAA,UC1BYC,EAyCT,cAAWC,GACP,OAAOC,KAAKC,YAMhB,iBAAWL,GACP,OAAOI,KAAKE,eAMhB,cAAWC,GACP,OAAOH,KAAKI,YAQhB,WAAAC,CAAYC,EAAoBC,GAC5BP,KAAKC,YAAcK,EACnBN,KAAKE,eAAiBK,EACtBP,KAAKI,YAAcN,EAAcU,cAAcD,GAS5C,iBAAAE,CAAkBC,GACrB,IAAIC,EAA2BD,EAAQV,KAAKE,eAM5C,OAJIS,EAAmB,IACnBA,GAAoBX,KAAKE,gBAGtBS,EAAiBC,SAASZ,KAAKE,gBAQnC,oBAAOM,CAAcK,GACxB,IAAIC,EAEJ,OAAQD,GACJ,KAAKjB,EAAcmB,OACfD,EAAShB,EAAckB,mBACvB,MACJ,KAAKpB,EAAcqB,MACfH,EAAShB,EAAcoB,kBACvB,MACJ,KAAKtB,EAAcuB,QACfL,EAAShB,EAAcsB,oBACvB,MACJ,KAAKxB,EAAcyB,YACfP,EAAShB,EAAcwB,wBACvB,MACJ,QACIR,EAAS,GAIjB,OAAOA,EASJ,gCAAOS,CAA0BC,EAAkBX,GACtD,MAAMY,GAAoB,IAAMC,OAAOF,IAAa,GAEpD,OAAOxB,KAAK2B,2BAA2BF,EAAUZ,GAS9C,iCAAOc,CAA2BjB,EAAeG,GAUpD,MAAMe,EAAgBF,OAAOb,GAE7B,IAEIgB,EAFAC,EAAcpB,EAIlB,IAAKmB,EAAa,GAAIA,EAAa/B,EAAciC,YAAsB,KAARD,EAAYD,IACvEC,GAAYF,EAGhB,OAAOC,EAAa,GAAKA,EAAa,IC9JxC,SAAUG,EAAmBtB,GAC/B,IAAIuB,EAAY,EAEhB,GAAIvB,EAAQ,GAAI,CACZ,IAAIwB,EAAcxB,EAElB,KAAOwB,EAAc,IACjBA,IAAgB,GAChBD,SAEa,KAAVvB,IACPuB,EAAY,GAGhB,OAAOA,CACX,CDNoBnC,EAAUiC,WAAW,KAKrBjC,EAAAkB,mBAAqB,CAAC,IAAK,KAK3BlB,EAAAoB,kBAAoB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAKxDpB,EAAmBsB,oBAAG,IAAItB,EAAcoB,kBAAmB,IAAK,KAKhEpB,EAAAwB,wBAA0B,IACnCxB,EAAcsB,oBACjB,IACA,IACA,IACA,IACA,IACA,KEtBF,MAAAe,EAAoBC,EAAMC,cAAsC,CAAE,GCRlEC,EAAyCC,IAC3C,MAAMC,OAAEA,EAAMC,UAAEA,EAASC,YAAEA,GAAgBH,EAE3C,OACIH,EAACO,cAAAR,EAAkBS,SACf,CAAAlC,MAAO,CAAE8B,OAAQA,EAAQC,UAAWA,EAAWC,YAAaA,IAC3DH,EAAMM,SACkB,ECpBrC,SAASC,EAAYC,EAAKC,QACX,IAARA,IAAiBA,EAAM,CAAE,GAC9B,IAAIC,EAAWD,EAAIC,SAEnB,GAAKF,GAA2B,oBAAbG,SAAnB,CAEA,IAAIC,EAAOD,SAASC,MAAQD,SAASE,qBAAqB,QAAQ,GAC9DC,EAAQH,SAASP,cAAc,SACnCU,EAAMC,KAAO,WAEI,QAAbL,GACEE,EAAKI,WACPJ,EAAKK,aAAaH,EAAOF,EAAKI,YAKhCJ,EAAKM,YAAYJ,GAGfA,EAAMK,WACRL,EAAMK,WAAWC,QAAUZ,EAE3BM,EAAMI,YAAYP,SAASU,eAAeb,GAnBU,CAqBxD,CDDAT,EAAWuB,YAAc,mBETnB,MAAAC,EAAc1B,EAAM2B,YACtB,CAACxB,EAAOyB,IACG5B,EAAAO,cAACsB,EAAiBrB,cAAUL,EAAMM,YAIjDiB,EAAYD,YAAc,ypIC2BpB,MAAAK,EAAU9B,EAAM2B,YAAiD,CAACxB,EAAO4B,KAC3E,MAAMtB,SACFA,EAAQuB,UACRA,EAASC,KACTA,EAAIC,YACJA,EAAWC,aACXA,EAAYC,cACZA,EAAaC,wBACbA,EAAuBC,QACvBA,EAAOC,UACPA,EAASC,WACTA,KACGC,GACHtC,EAEEuC,EAAY,CACdT,OACAC,cACAC,eACAC,gBACAC,2BAGJ,OACIrC,EAACO,cAAAsB,EAAiBc,SAASD,GACvB1C,EAAAO,cAACsB,EAAiBe,SAAQC,SAAO,GAAEpC,GACnCT,EAACO,cAAAsB,EAAiBiB,OAAO,CAAAP,UAAWA,EAAWC,WAAYA,GACvDxC,EAACO,cAAAsB,EAAiBkB,QACd,CAAAC,WAAY,EACZC,iBAAkB,MACdR,EACJ7B,IAAKmB,EACLC,UAAWkB,EAAW,mBAAoBlB,IAC1ChC,EAAGO,cAAA,IAAA,CAAAyB,UAAU,iBAAiBM,KAGlB,ICrE1B,SAAUa,EAAoCC,GAChD,OAAO,SAA8BjD,GACjC,OAAqB,MAAjBA,EAAMkD,QACCrD,EAAAO,cAACuB,EAAO,CAACQ,QAASnC,EAAMkD,SAAUD,GAElCA,CAEd,CACL,CDmEAtB,EAAQL,YAAc,UE7ChB,MAAA6B,EAAStD,EAAM2B,YAA+C,CAACxB,EAAO4B,KACxE,MAAMC,UACFA,EAASuB,MACTA,EAAKC,KACLA,EAAO,EAACC,WACRA,EAAUC,aACVA,EAAYC,cACZA,KACGC,GACHzD,EAEE0D,EAAoBV,EACtBnD,0CACmB4D,EAAYE,eAAYC,KACnCH,EACJhD,IAAKmB,EACLC,UAAWkB,EAAW,WAAYlB,EAAW,aAAewB,GAC5DQ,YAAaN,EACbO,UAAWR,EACXS,QAASP,GACRJ,IAIT,OAAOvD,EAACO,cAAAsD,EAAsB,IAAA1D,GAAS,IAG3CmD,EAAO7B,YAAc,aC7DT0C,u/DAAZ,SAAYA,GACRA,EAAAA,EAAA,GAAA,GAAA,KACAA,EAAAA,EAAA,KAAA,GAAA,MACH,CAHD,CAAYA,IAAAA,EAGX,CAAA,IAMD,MA6BMC,EAAcpE,EAAM2B,YAA4C,CAACxB,EAAO4B,KAC1E,MAAMsC,UAAEA,EAAYF,EAAiBG,KAAIC,MAAEA,EAAQ,aAAcC,GAAcrE,EAE/E,OACIH,EACIO,cAAA,MAAA,CAAAkE,MAAM,6BACNC,MAAM,KACNC,OAAO,IACPC,QAAQ,WACRC,KAAK,UACDL,EACJ5D,IAAKmB,GAxCQ,EAACsC,EAA6BE,KACnD,IAAIO,EAyBJ,OAvBIT,IAAcF,EAAiBY,IAOVZ,EAAiBG,KANtCQ,EACI9E,EACIO,cAAA,OAAA,CAAAyE,EAAE,wLACFH,KAAMN,IAmBXO,CAAK,EAeHG,CAAiBZ,EAAWE,GAC3B,ICnDd,IAAYW,EDyDZd,EAAY3C,YAAc,cCzD1B,SAAYyD,GACRA,EAAAA,EAAA,GAAA,GAAA,KACAA,EAAAA,EAAA,KAAA,GAAA,MACH,CAHD,CAAYA,IAAAA,EAGX,CAAA,IAMD,MAkBMC,EAAqBnF,EAAM2B,YAC7B,CAACxB,EAAO4B,KACJ,MAAMsC,UAAEA,EAAYa,EAAwBZ,KAAIC,MAAEA,EAAQ,aAAcC,GAAcrE,EACtF,OACIH,EACIO,cAAA,MAAA,CAAAkE,MAAM,6BACNC,MAAM,KACNC,OAAO,IACPC,QAAQ,WACRC,KAAK,UACDL,EACJ5D,IAAKmB,GA7BE,EAACsC,EAAoCE,KACxD,IAAIO,EAEJ,OAAQT,GACJ,KAAKa,EAAwBH,GACzBD,EAAQ9E,EAAMO,cAAA,OAAA,CAAAyE,EAAE,uCAAuCH,KAAMN,IAC7D,MACJ,KAAKW,EAAwBZ,KACzBQ,EAAQ9E,EAAMO,cAAA,OAAA,CAAAyE,EAAE,+BAA+BH,KAAMN,IACrD,MACJ,QACIO,EAAQ9E,EAAMO,cAAA,OAAA,CAAAyE,EAAE,uCAAuCH,KAAMN,IAIrE,OAAOO,CAAK,EAeCM,CAAef,EAAWE,GACzB,IAOlBY,EAAmB1D,YAAc,qBC/CjC,MAAM4D,EAAmBrF,EAAM2B,YAAqC,CAACxB,EAAO4B,KACxE,MAAMwC,MAAEA,EAAQ,aAAcC,GAAcrE,EAE5C,OACIH,EACIO,cAAA,MAAA,CAAAkE,MAAM,6BACNC,MAAM,KACNC,OAAO,IACPC,QAAQ,WACRC,KAAK,UACDL,EACJ5D,IAAKmB,GACL/B,EACIO,cAAA,OAAA,CAAAyE,EAAE,sFACFH,KAAMN,IAER,IAMdc,EAAiB5D,YAAc,mBChB/B,MAsCM6D,EAAqBtF,EAAM2B,YAC7B,CAACxB,EAAO4B,KACJ,MAAMwD,MACFA,EAAKhB,MACLA,EAAQ,UAASiB,aACjBA,EAAe,UAASC,cACxBA,EAAgB,WAChBtF,EAEJ,OACIH,EACIO,cAAA,MAAA,CAAAkE,MAAM,6BACNC,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,UACD1E,EACJS,IAAKmB,GAvDH,EACdwD,EACAhB,EACAiB,EACAC,KAEA,IAAIC,EAEJ,OAAQH,GACJ,KAAK9H,EAAYkI,GACbD,EACI1F,EACIO,cAAA,OAAA,CAAAyE,EAAE,+GACFH,KAAMW,IAGd,MACJ,KAAK/H,EAAYmI,IACbF,EACI1F,EACIO,cAAA,OAAA,CAAAyE,EAAE,+GACFH,KAAMY,IAGd,MACJ,QACIC,EACI1F,EACIO,cAAA,OAAA,CAAAyE,EAAE,+GACFH,KAAMN,IAMtB,OAAOmB,CAAI,EAqBEG,CAAUN,EAAOhB,EAAOiB,EAAcC,GACrC,IAOlBH,EAAmB7D,YAAc,qBChEjC,MAuBMqE,EAAuB9F,EAAM2B,YAC/B,CAACxB,EAAO4B,KACJ,MAAMwD,MAAEA,EAAKhB,MAAEA,EAAQ,UAASiB,aAAEA,EAAe,aAAchB,GAAcrE,EAE7E,OACIH,EACIO,cAAA,MAAA,CAAAkE,MAAM,6BACNC,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,UACDL,EACJ5D,IAAKmB,GAnCH,EAACwD,EAAoBhB,EAAeiB,KAClD,IAAIE,EAEJ,OAAQH,GACJ,KAAK9H,EAAYkI,GACbD,EACI1F,EAAAO,cAAAP,EAAA+F,SAAA,KACI/F,EAAAO,cAAA,SAAA,CAAQyF,GAAG,IAAIC,GAAG,IAAIC,EAAE,IAAIC,OAAQ5B,EAAO6B,YAAY,MACvDpG,EAAAO,cAAA,SAAA,CAAQyF,GAAG,IAAIC,GAAG,IAAIC,EAAE,IAAIrB,KAAMW,KAG1C,MACJ,KAAK/H,EAAYmI,IAGjB,QACIF,EAAO1F,0BAAQgG,GAAG,IAAIC,GAAG,IAAIC,EAAE,IAAIC,OAAQ5B,EAAO6B,YAAY,MAItE,OAAOV,CAAI,EAgBEG,CAAUN,EAAOhB,EAAOiB,GACvB,IAOlBM,EAAqBrE,YAAc,uBC5CnC,MAuBM4E,EAAwBrG,EAAM2B,YAChC,CAACxB,EAAO4B,KACJ,MAAMwD,MACFA,EAAKhB,MACLA,EAAQ,QAAOiB,aACfA,EAAe,QAAOC,cACtBA,EAAgB,WACbjB,GACHrE,EAEJ,OACIH,EACIO,cAAA,MAAA,CAAAkE,MAAM,6BACNC,MAAM,IACNC,OAAO,IACPC,QAAQ,UACRC,KAAK,UACDL,EACJ5D,IAAKmB,GAzCH,EACdwD,EACAhB,EACAiB,EACAC,KAEA,IAAIC,EAEJ,OAAQH,GACJ,KAAK9H,EAAYkI,GACbD,EAAO1F,EAAQO,cAAA,SAAA,CAAAyF,GAAG,IAAIC,GAAG,IAAIC,EAAE,OAAOrB,KAAMW,IAC5C,MACJ,KAAK/H,EAAYmI,IACbF,EAAO1F,EAAQO,cAAA,SAAA,CAAAyF,GAAG,IAAIC,GAAG,IAAIC,EAAE,OAAOrB,KAAMY,IAC5C,MACJ,QACIC,EAAO1F,EAAQO,cAAA,SAAA,CAAAyF,GAAG,IAAIC,GAAG,IAAIC,EAAE,OAAOrB,KAAMN,IAIpD,OAAOmB,CAAI,EAsBEG,CAAUN,EAAOhB,EAAOiB,EAAcC,GACrC,IAOlBY,EAAsB5E,YAAc,wBCzB9B,MAAA6E,EAAYtG,EAAM2B,YAA6C,CAACxB,EAAO4B,KACzE,MAAMC,UAAEA,EAASuB,MAAEA,EAAKC,KAAEA,EAAO,EAAC+B,MAAEA,KAAUgB,GAAmBpG,EAE3DqG,EAAuBrD,EACzBnD,2BACQuG,EACJ3F,IAAKmB,EACLC,UAAWyE,EAAW,cAAezE,EAAW,aAAewB,IAC/DxD,EAACO,cAAA+E,GACGtD,UAAU,kBACVuD,MAAOA,EAAQ9H,EAAYkI,GAAKlI,EAAYmI,MAEhD5F,EAAMO,cAAA,OAAA,CAAAyB,UAAWyE,EAAW,qBAAsBlD,KAI1D,OAAOvD,EAACO,cAAAiG,EAAyB,IAAArG,GAAS,IAG9CmG,EAAU7E,YAAc,y0CCvBlB,MAAAiF,EAAQ1G,EAAM2B,YAAqC,CAACxB,EAAO4B,KAC7D,MAAMC,UACFA,EAAS2E,KACTA,EAAIC,mBACJA,EAAqB,OAAMC,iBAC3BA,EAAmB,MAAKpG,SACxBA,KACGqG,GACH3G,EAEJ,OACIH,0BACQ8G,EACJlG,IAAKmB,EACLC,UAAWkB,EACP,UACAlB,EACA,UAAY4E,EAAqB,IAAMC,IAE3C7G,EAAMO,cAAA,OAAA,CAAAyB,UAAWkB,EAAW,gBAAiByD,GAC5ClG,EACC,IAIdiG,EAAMjF,YAAc,0xDCwBd,MAAAsF,EAAgB/G,EAAM2B,YACxB,CAACxB,EAAO4B,KACJ,MAAMC,UACFA,EAASuB,MACTA,EAAKC,KACLA,EAAO,EAACrF,cACRA,EAAgBX,EAAcuB,QAAOiI,aACrCA,EAAe,EAACC,aAChBA,EAAYC,aACZA,EAAY5I,MACZA,GACA6B,EAEEjC,EAAqB8B,EAAMmH,SAAQ,KACrC,MAAMC,EAAiC1J,EAAc6B,2BACjD0H,EACA9I,GAEEkJ,EAAiC3J,EAAc6B,2BACjD2H,EACA/I,GAQJ,OAJIiJ,EAAyBC,EACnBD,EACAC,CAEc,GACzB,CAACJ,EAAcC,EAAc/I,IAE1BmJ,EAAetH,EAAMmH,SACvB,IAAMnH,EAAMO,cAAA,OAAA,CAAAyB,UAAWyE,EAAW,sBAAuB,aAAejD,IAAe,MACvF,CAACA,IAGC+D,EAA2BpE,EAC7BnD,uBACIY,IAAKmB,EACLC,UAAWyE,EAAW,kBAAmBzE,EAAW,aAAewB,IACnExD,EAAKO,cAAA,MAAA,CAAAyB,UAAU,0BACV1D,EAAQ,IAAMgJ,EACftH,EAAAO,cAAA,OAAA,CAAMyB,UAAU,uBA1GpC,SACI1D,EACAJ,EACAC,EACA6I,GAEA,IAAItI,EAEJ,GAAa,MAATJ,EAAe,CACf,MAAMkJ,EAAsBlJ,GAAS,GAAKA,GAASA,EAC7CmJ,EAA2BC,OAAOxJ,GAElCyJ,EAAyBH,EAC1BhJ,SAASL,GACTyJ,SAASH,EAAkB,KAEhC,GAAItJ,IAAkBX,EAAcuB,SAAWiI,EAAe,EAAG,CAC7D,MAAMa,EAA4BJ,EAAmBT,EAErD,GAAIa,EAAoB,EACpBnJ,EACIiJ,EAAeG,MAAM,EAAGD,GACxB,IACAF,EAAeG,MAAMD,OACtB,CACH,MAAME,EAAuB,KAM7BrJ,EAL2BqJ,EAAaC,OACpCD,EAAaE,OAASJ,EACtB,KAG0BF,QAGlCjJ,EAASiJ,OAGbjJ,EAAS,QAGb,OAAOA,CACX,CAkEyBwJ,CAAkB5J,EAAOJ,EAAYC,EAAe6I,OAQrE,GAF2B,MAATzD,EAGd,OACIvD,EAAAO,cAACmG,EAAK,IAAKnD,GACPvD,EAAAO,cAAA,MAAA,CAAKU,MAAO,CAAEyD,MAAO,SACjB1E,EAAAO,cAACgH,EAA6B,IAAApH,MAK1CH,EAAAO,cAACgH,EAAwB,IAAKpH,OAK1C4G,EAActF,YAAc,8jKC3G5B,MAAM0G,EAAyChI,IAC3C,MAAMiI,EAAgBpI,EAAMqI,OAA0B,OAEhDrG,UACFA,EAASsG,QACTA,EAAU,WAAU9E,KACpBA,EAAO,EAAClF,MACRA,EAAKiK,QACLA,EAAOC,QACPA,EAAOrK,cACPA,EAAgBX,EAAcuB,QAAO0J,eACrCA,GACAtI,EAEEuI,EAAW1I,EAAMqI,OAAO/J,GAE9BoK,EAASC,QAAUxI,EAAM7B,MAEzB,MAAMsK,EAAkB5I,EAAMqI,OAAOI,GAErCG,EAAgBD,QAAUF,EAoD1BzI,EAAM6I,WAAU,KACZ,MAAMC,EAAiCC,IAC/BA,EAAMC,OAAS,GACfJ,EAAgBD,UAAUD,EAASC,QAAU,GAAG,GAEhDI,EAAME,kBACNF,EAAMG,kBACCH,EAAMC,OAAS,IACtBJ,EAAgBD,UAAUD,EAASC,QAAU,GAAG,GAEhDI,EAAME,kBACNF,EAAMG,mBAQd,OAJAd,EAAcO,SAASQ,iBAAiB,QAASL,EAA+B,CAC5EM,SAAS,IAGN,KACHhB,EAAcO,SAASU,oBAAoB,QAASP,EAA8B,CACrF,GACF,CAACV,IAEJ,MAAMkB,EAA0B,MAAXf,GAAkBjK,EAAQiK,EACzCgB,EAA0B,MAAXf,GAAkBlK,EAAQkK,EAgE/C,OACIxI,EACIO,cAAA,MAAA,CAAAyB,UAAWkB,EAAW,eAAgBlB,EAAW,aAAewB,GAChE5C,IAAKwH,EACLoB,UAAW,EACXC,aAAeC,GAAMA,EAAEC,cAAcC,QACrCC,aAAeH,GAAMA,EAAEC,cAAcG,OACrCC,UAlJ6BhB,IACjC,IAAIiB,GAAqB,EAEzB,OAAQjB,EAAMkB,KACV,IAAK,UACDxB,IAAiBnK,EAAQ,GAAG,GAC5B0L,GAAY,EACZ,MACJ,IAAK,YACDvB,IAAiBnK,EAAQ,GAAG,GAC5B0L,GAAY,EACZ,MACJ,IAAK,aACD,CACI,MAAME,EAAqCnB,EAAMY,cAC5CQ,mBACLD,GAAaN,QACbI,GAAY,EAEhB,MACJ,IAAK,YACD,CACI,MAAMI,EAAyCrB,EAAMY,cAChDU,uBACLD,GAAiBR,QACjBI,GAAY,EAEhB,MACJ,QACIA,GAAY,EAIpB,GAAIA,EACAjB,EAAME,kBACNF,EAAMG,qBACH,CACH,MAAMoB,EAAuBC,SAASxB,EAAMkB,IAAK9L,GAEjD,IAAKuJ,OAAO8C,MAAMF,GAAe,CAC7B7B,IAAiB6B,GAAc,GAE/B,MAAMJ,EAAqCnB,EAAMY,cAC5CQ,mBAELD,GAAaN,YAsGjB5J,EAAAO,eAtE6B,KACjC,IAAIkK,EAEJ,OAAQnC,GACJ,IAAK,WACDmC,EACIzK,EAAAO,cAAC4E,EAAkB,CACfnD,UAAWkB,EAAW,kCACtBmB,UAAWa,EAAwBH,GACnCR,MAAM,UACQ,eAAA+E,IAGtB,MACJ,IAAK,UACDmB,EACIzK,EAAAO,cAAC8E,EACG,CAAArD,UAAWkB,EAAW,kCACtBqB,MAAM,yBACQ+E,IAGtB,MACJ,QACImB,EAAY,KAIpB,OAAOA,CAAS,GA0CoB,MAChCzK,EAAKO,cAAA,MAAA,CAAAyB,UAAWkB,EAAW,sBAAuB,aAAeM,IAC5DkH,KAAKC,IAAIrM,GAAOE,SAASkJ,OAAOvJ,KAErC6B,EAAAO,eA3C6B,KACjC,IAAIkK,EAEJ,OAAQnC,GACJ,IAAK,WACDmC,EACIzK,EAAAO,cAAC4E,EAAkB,CACfnD,UAAWkB,EAAW,kCACtBmB,UAAWa,EAAwBZ,KACnCC,MAAM,UACQ,eAAAgF,IAGtB,MACJ,IAAK,UACDkB,EACIzK,EAAAO,cAAC8E,EACG,CAAArD,UAAWkB,EAAW,kCACtBqB,MAAM,yBACQgF,IAGtB,MACJ,QACIkB,EAAY,KAIpB,OAAOA,CAAS,GAeiB,MAC3B,EAIdtC,EAAW1G,YAAc,aC3LzB,MAAMmJ,EAAuDzK,IACzD,MAAMmI,QACFA,EAAU,WAAU9E,KACpBA,EAAO,EAACrF,cACRA,EAAa6I,aACbA,EAAe,EAAC6D,YAChBA,EAAWC,oBACXA,GACA3K,EAmEJ,OAAOH,EAAGO,cAAAP,EAAA+F,SAAA,KAjEa,MACnB,MAAMgF,EAAeF,EAAYG,KAAI,CAACC,EAAYxL,IAkB1CO,gBAACmI,EAAU,CACP8B,IAAK,SAAWgB,EAAWC,GAC3B5C,QAASA,EACT9E,KAAMA,EACNrF,cAAeA,EACfG,MAAO2M,EAAW3M,MAClBiK,QAAS0C,EAAW1C,QACpBC,QAASyC,EAAWzC,QACpBC,eAzBoB,CAACnK,EAAe6M,KAKxC,MAAMC,EAAiB,IAAIP,GAC3BO,EAAe3L,GAAc,IACtBoL,EAAYpL,GACfnB,MAAOA,GAKXwM,IAAsBM,EAAgBD,EAAU,MAiBxD,GAAIhN,IAAkBX,EAAcuB,SAAWiI,EAAe,EAAG,CAC7D,MAAMqE,EAA6BrE,EAAe+D,EAAa9C,OAE/D,GAAIoD,EAAqB,EACrBN,EAAaO,OACTtE,EACA,EACAhH,EAAAO,cAAA,OAAA,CACI0J,IAAK,sBACLjI,UAAWyE,EAAW,oBAAqB,aAAejD,IAEvD,UAER,CACH,MAAMuE,EAAuB,KACvBwD,EAAqBxD,EAAaC,OACpCD,EAAaE,OAASoD,EACtB,KAGJN,EAAaS,KACTxL,EAAAO,cAAA,OAAA,CACI0J,IAAK,uBACLjI,UAAWyE,EAAW,oBAAqB,aAAejD,IACzD+H,KAMjB,OAAOR,EAAaU,SAAS,EAGvBC,GAAoB,EAGlCd,EAAkBnJ,YAAc,oBChE1B,MAAAkK,EAAc3L,EAAM2B,YACtB,CAACxB,EAAO4B,KACJ,MAAMwB,MAAEA,EAAKF,QAAEA,KAAYuI,GAAgBzL,EAErC0L,EAAqB,MAATtI,EACZuI,EAAyB,MAAXzI,EAEpB,OAAIwI,GAAaC,EAET9L,EAAAO,cAACmG,EAAK,IAAKnD,GACPvD,EAAAO,cAACuB,EAAO,CAACQ,QAASe,GACdrD,EAAAO,cAAA,MAAA,CAAKU,MAAO,CAAEyD,MAAO,SACjB1E,EAAAO,cAACwL,EAAe,CAACnL,IAAKmB,KAAkB6J,OAKjDC,EAEH7L,EAAAO,cAACmG,EAAK,IAAKnD,GACPvD,EAAAO,cAAA,MAAA,CAAKU,MAAO,CAAEyD,MAAO,SACjB1E,EAACO,cAAAwL,EAAgB,CAAAnL,IAAKmB,KAAkB6J,MAI7CE,EAEH9L,EAACO,cAAAuB,EAAQ,CAAAQ,QAASe,GACdrD,EAAAO,cAAA,MAAA,KACIP,EAACO,cAAAwL,EAAgB,CAAAnL,IAAKmB,KAAkB6J,MAK7C5L,EAAAO,cAACwL,EAAgB,CAAAnL,IAAKmB,KAAkB6J,OAK3DD,EAAYlK,YAAc,cAO1B,MAAMsK,EAAkB/L,EAAM2B,YAC1B,CAACxB,EAAO4B,KACJ,MAAMC,UACFA,EAASsG,QACTA,EAAU,WAAU9E,KACpBA,EAAO,EAACM,SACRA,GAAW,EAAK3F,cAChBA,EAAgBX,EAAcuB,QAAOiI,aACrCA,EAAe,EAACC,aAChBA,EAAYC,aACZA,EAAY5I,MACZA,EAAK0N,cACLA,GACA7L,EAEEjC,EAAqB8B,EAAMmH,SAAQ,KACrC,MAAMC,EAAiC1J,EAAc6B,2BACjD0H,EACA9I,GAEEkJ,EAAiC3J,EAAc6B,2BACjD2H,EACA/I,GAQJ,OAAOuJ,OAJHN,EAAyBC,EACnBD,EACAC,EAEsB,GACjC,CAACJ,EAAcC,EAAc/I,IAE1BqB,EAAgBF,OAAOnB,GAEvB0M,EAAiCoB,EACnC3N,EACA2I,EACAC,EACA1H,EACAtB,GA0BJ,OACI8B,uBACIY,IAAKmB,EACLC,UAAWyE,EAAW,gBAAiBzE,EAAW,aAAewB,GAAK,gBACvDM,QAAYC,GAC3B/D,EAAKO,cAAA,MAAA,CAAAyB,UAAU,wBACV1D,EAAQ,IAVA,CAACkF,GAClBxD,EAAMO,cAAA,OAAA,CAAAyB,UAAWyE,EAAW,oBAAqB,aAAejD,IAAe,KASxD0I,CAAa1I,GAC5BxD,EAAAO,cAACqK,EAAiB,CACdtC,QAASA,EACT9E,KAAMA,EACNrF,cAAeA,EACf6I,aAAcA,EACd6D,YAAaA,EACbC,oBApCY,CACxBM,EACAe,KAEA,IAAIC,EAAmBC,EAA4BjB,EAAgB5L,GAEtC4M,GAAY,IAAO9N,GAAS,IAAmB,KAAb8N,IAG3DA,GAAY,IAAM9N,GAKlB8N,GAAYnF,GAAgBmF,GAAYlF,GACxC8E,IAAgBI,OAwBd,IAKlBL,EAAgBtK,YAAc,kBAE9B,MAAM4K,EAA8B,CAChCxB,EACArL,KAEA,MAEM8M,EAFqBzB,EAAY5C,OAEM,EAE7C,IAAIqC,EAAuBhL,OAAOuL,EAAYyB,GAAiBhO,OAE/D,IAAK,IAAImB,EAAqB6M,EAAkB,EAAG7M,GAAc,EAAGA,IAChE6K,EAAeA,EAAe9K,EAAQF,OAAOuL,EAAYpL,GAAYnB,OAGzE,OAAOgM,CAAY,EAGjB2B,EAA8B,CAChC3N,EACAiK,EACAC,EACAhJ,EACAtB,KAEA,MAAMQ,EAA4B,GAElC,IAAI6N,EAAuBjO,EACvBkO,EAA+BjE,EAAUjK,EACzCmO,EAA+BjE,EAAUlK,EAE7C,IAAK,IAAImB,EAAqB,EAAGA,EAAavB,EAAYuB,IAAc,CACpE,MAAMiN,EAAqBhF,OAAO6E,EAAe/M,GAC3CmN,EAAuBjC,KAAKkC,MAAMlF,OAAO8E,EAAuBlN,OAAOoN,KACvEG,EAAuBnC,KAAKoC,KAAKpF,OAAO+E,EAAuBnN,OAAOoN,KAE5EhO,EAAOe,GAAc,CACjByL,GAAIzL,EACJnB,MAAOoO,EACPnE,QAASwE,EAAuBJ,EAAcjF,OAAOlI,IACrDgJ,QAASuE,EAAuBF,EAAcnF,OAAOlI,KAGzD+M,GAA8B/M,EAC9BgN,GAA8ChN,EAC9CiN,GAA8CjN,EAGlD,OAAOd,CAAM,EAGXqO,EAAyB,CAC3BC,EACAxN,KAEA,IAAId,EAQJ,OALIA,EADAsO,GAAwB,EACfA,EAAuBxN,EAAQwN,OAAuBjJ,EAEtDiJ,GAAwBxN,EAAQwN,OAAuBjJ,EAG7DrF,CAAM,wtFC1MX,MAAAuO,EAAcjN,EAAM2B,YACtB,CAACxB,EAAO4B,KACJ,MAAMwB,MAAEA,EAAKF,QAAEA,KAAYuI,GAAgBzL,EAErC0L,EAAqB,MAATtI,EACZuI,EAAyB,MAAXzI,EAEpB,OAAIwI,GAAaC,EAET9L,gBAAC0G,EAAK,CAAC1E,UAAU,wBAAyBuB,GACtCvD,EAAAO,cAACuB,EAAO,CAACQ,QAASe,GACdrD,EAAAO,cAAA,MAAA,CAAKU,MAAO,CAAEyD,MAAO,SACjB1E,EAAAO,cAAC2M,EAAe,CAACtM,IAAKmB,KAAkB6J,OAKjDC,EAEH7L,gBAAC0G,EAAK,CAAC1E,UAAU,wBAAyBuB,GACtCvD,EAAAO,cAAA,MAAA,CAAKU,MAAO,CAAEyD,MAAO,SACjB1E,EAACO,cAAA2M,EAAgB,CAAAtM,IAAKmB,KAAkB6J,MAI7CE,EAEH9L,EAACO,cAAAuB,EAAQ,CAAAQ,QAASe,GACdrD,EAAAO,cAAA,MAAA,CAAKU,MAAO,CAAEyD,MAAO,SACjB1E,EAACO,cAAA2M,EAAgB,CAAAtM,IAAKmB,KAAkB6J,MAK7C5L,EAAAO,cAAC2M,EAAgB,CAAAtM,IAAKmB,KAAkB6J,OAK3DqB,EAAYxL,YAAc,cAO1B,MAAMyL,EAAkBlN,EAAM2B,YAC1B,CAACxB,EAAO4B,KACJ,MAAMC,UACFA,EAASqB,QACTA,EAAO6D,aACPA,EAAe,EAACD,aAChBA,EAAe,IAAG+E,cAClBA,EAAamB,aACbA,EAAejG,EAAY5I,MAC3BA,EAAK8O,UACLA,EAAY,EAACC,eACbA,GAAiB,EAAIC,gBACrBA,GAAkB,EAAIxJ,SACtBA,GAAW,GACX3D,EAEEoN,EAAejP,GAAS6O,GAEvBK,EAAcC,GAAmBzN,EAAM0N,SAAmB,CAACH,IAElEvN,EAAM6I,WAAU,KACZ4E,EAAgB,CAACF,GAAc,GAChC,CAACA,IAEJ,MAAMI,EAAqB3N,EAAM4N,aAC5BtP,IACGmP,EAAgB,CAACnP,IACjB0N,IAAgB1N,EAAM,GAE1B,CAAC0N,IAGC6B,EAAmB,IAEjB7N,gBAAC8N,EAAgBC,MAAM,CAAA/L,UAAU,sBAC7BhC,EAACO,cAAAuN,EAAgBE,MAAM,CAAAhM,UAAU,wBAKvC8J,EAAyB,MAAXzI,EAEpB,OACIrD,EAAAO,cAAA,MAAA,CACIyB,UAAWkB,EAAW,gBAAiBlB,GACxB,gBAAA8B,QAAYC,GAC1BuJ,EAAkBtN,EAAAO,cAAA,OAAA,KAAO2G,GAAuB,KACjDlH,EAACO,cAAAuN,EAAgBnL,KAAI,CACjB/B,IAAKmB,EACLkM,IAAK/G,EACLgH,IAAKjH,EACLkH,KAAMf,EACN9O,MAAOkP,EACPxB,cAAgB1N,GAAUqP,EAAmBrP,EAAM,IACnD8P,YAAY,aACZpM,UAAU,oBACV8B,SAAUA,GACTgI,EACG9L,gBAAC8B,EAAO,CAACQ,QAASe,GACdrD,EAACO,cAAAsN,EAAmB,OAGxB7N,EAAAO,cAACsN,EAAgB,MAErB7N,EAACO,cAAAuN,EAAgBO,MAAM,CAAArM,UAAU,sBAC5BqL,EACGrN,uBAAKgC,UAAU,2BAA2BwL,GAC1C,OAGXF,EAAkBtN,EAAAO,cAAA,OAAA,KAAO0G,GAAuB,KAC/C,IAKlBiG,EAAgBzL,YAAc,kBCxJvB,MAAM6M,EAAqBtO,EAAMC,cAAuC,CAC3EsD,MAAO,CAAEoD,KAAM,GAAIC,mBAAoB,QAASC,iBAAkB,OAClErD,KAAM,EACNlF,WAAOyF,IAiCLwK,EAA2DpO,IAC7D,MAAMoD,MAAEA,EAAK9C,SAAEA,EAAQ+C,KAAEA,EAAO,EAACH,QAAEA,EAAO/E,MAAEA,KAAUoE,GAAcvC,EACpE,OACIH,EAACO,cAAAiO,EAAgB7L,MAAKrE,MAAOA,KAAWoE,GACpC1C,EAAAO,cAAC+N,EAAmB9N,UAChBlC,MAAO0B,EAAMmH,SACT,KAAO,CAAE5D,QAAOC,OAAMH,UAAS/E,WAC/B,CAACiF,EAAOC,EAAMH,EAAS/E,KAE1BmC,GAEc,EAI/B8N,EAAgB9M,YAAc,uqFCrCxB,MAAAgN,EAAqBzO,EAAM2B,YAC7B,CAACxB,EAAO4B,KACJ,MAAMC,UAAEA,EAASvB,SAAEA,EAAQ8B,UAAEA,KAAcmM,GAAiBvO,GACtDqD,KAAEA,GAASxD,EAAM2O,WAAWL,GAClC,OACItO,gBAACwO,EAAgB1L,OAAO,CAAAP,UAAWA,GAC/BvC,EAAAO,cAACiO,EAAgBzL,QAAO,CACpBC,WAAY,KACR0L,EACJ9N,IAAKmB,EACLC,UAAWkB,EAAW,uBAAwBlB,EAAW,aAAewB,GACxEoL,SAAS,SACTC,MAAM,SACN7O,EAACO,cAAAuO,EAAoBnM,KAAK,CAAAzB,KAAK,OAAOc,UAAU,gBAC5ChC,EAAAO,cAACiO,EAAgBO,SAAQ,CAAClM,SAAO,GAC7B7C,EAAAO,cAACuO,EAAoBC,SAAS,CAAA/M,UAAU,wBACpChC,EAAAO,cAAA,MAAA,CAAKyB,UAAU,6BAA6BvB,KAGpDT,EAACO,cAAAuO,EAAoBE,UACjB,CAAAhN,UAAU,wBACVoM,YAAY,YACZpO,EAAAO,cAACuO,EAAoBT,MAAK,CAACrM,UAAU,yBAI5B,IAKrCyM,EAAmBhN,YAAc,udCpCjC,MAAMwN,EAAmBjP,EAAM2B,YAC3B,CAACxB,EAAO4B,IACJ/B,EAACO,cAAAiO,EAAgBU,MAAK,IACd/O,EACJS,IAAKmB,EACLC,UAAWkB,EAAW,qBAAsB/C,EAAM6B,eAK9DiN,EAAiBxN,YAAc,u3BCJzB,MAAA0N,EAAkBnP,EAAM2B,YAC1B,CAACxB,EAAO4B,KACJ,MAAMC,UAAEA,EAASvB,SAAEA,KAAa2O,GAAcjP,GACxCqD,KAAEA,EAAIlF,MAAEA,GAAU0B,EAAM2O,WAAWL,GACzC,OACItO,gBAACwO,EAAgBa,KACT,IAAAD,EACJxO,IAAKmB,EACLC,UAAWkB,EAAW,oBAAqBlB,EAAW,aAAewB,IACrExD,EAACO,cAAAuF,GACGP,MAAOjH,IAAU6B,EAAM7B,MAAQb,EAAYkI,GAAKlI,EAAYmI,MAEhE5F,EAACO,cAAAiO,EAAgBc,SAAQ,KAAE7O,GACR,IAKnC0O,EAAgB1N,YAAc,4fCtBxB,MAAA8N,EAAmBvP,EAAM2B,YAC3B,CAACxB,EAAO4B,KACJ,MAAMC,UAAEA,KAAc8E,GAAe3G,GAC/BqD,KAAEA,GAASxD,EAAM2O,WAAWL,GAClC,OACItO,EAACO,cAAAiO,EAAgB9H,MACT,IAAAI,EACJlG,IAAKmB,EACLC,UAAWkB,EAAW,qBAAsBlB,EAAW,aAAewB,IACxE,IAKd+L,EAAiB9N,YAAc,iUChB/B,MAAM+N,EAAuBxP,EAAM2B,YAGjC,CAACxB,EAAO4B,IACN/B,EAACO,cAAAiO,EAAgBiB,UAAS,IAClBtP,EACJS,IAAKmB,EACLC,UAAWkB,EAAW,yBAA0B/C,EAAM6B,eAI9DwN,EAAqB/N,YAAc,2tCCD7B,MAAAiO,EAAqB1P,EAAM2B,YAG/B,CAACxB,EAAO4B,KACN,MAAMwB,MAAEA,EAAKF,QAAEA,KAAYsM,GAAiBhB,EAAWL,GAEjDzC,EAAqB,MAATtI,EACZuI,EAAyB,MAAXzI,EAEpB,OAAIwI,GAAaC,EAET9L,EAAAO,cAACmG,EAAK,IAAKnD,GACPvD,EAAAO,cAACuB,EAAO,CAACQ,QAASe,GACdrD,EAAAO,cAACqP,EACG,CAAAhP,IAAKmB,KACD5B,EACJc,MAAO,CAAEyD,MAAO,YAKzBmH,EAEH7L,EAAAO,cAACmG,EAAK,IAAKnD,GACPvD,EAAAO,cAACqP,EACG,CAAAhP,IAAKmB,KACD4N,EACJ1O,MAAO,CAAEyD,MAAO,WAIrBoH,EAEH9L,EAACO,cAAAuB,EAAQ,CAAAQ,QAASe,GACdrD,EAAAO,cAAA,MAAA,KACIP,EAACO,cAAAqP,EAAuB,CAAAhP,IAAKmB,KAAkB4N,MAKpD3P,EAAAO,cAACqP,EAAuB,CAAAhP,IAAKmB,KAAkB4N,OAI9DD,EAAmBjO,YAAc,qBAOjC,MAAMmO,EAAyB5P,EAAM2B,YAGnC,CAACxB,EAAO4B,KACN,MAAMC,UAAEA,EAAS6N,YAAEA,KAAgBF,GAAiBxP,GAE9CqD,KAAEA,GAASxD,EAAM2O,WAAWL,GAElC,OACItO,EAACO,cAAAiO,EAAgB5L,SAAQC,SAAO,GAC5B7C,EAAAO,cAAA,SAAA,IACQoP,EACJ/O,IAAKmB,EACLC,UAAWkB,EAAW,uBAAwBlB,EAAW,aAAewB,IACxExD,EAAMO,cAAA,OAAA,CAAAyB,UAAU,6BACZhC,EAACO,cAAAiO,EAAgBsB,MAAK,CAACD,YAAaA,KAExC7P,EAAAO,cAACiO,EAAgBuB,KAAI,CAAClN,SAAO,GACzB7C,EAAAO,cAAC6D,EAAW,CAACC,UAAWF,EAAiBG,SAG3B,IAIlCsL,EAAuBnO,YAAc,yBC/FrC,MAAMuO,EAAcC,OAAOC,OACvB,GACA,CACIvN,KAAM4L,EACN3L,QAAS8M,EACT3M,QAAS0L,EACTY,KAAMF,EACND,MAAOD,EACPvI,MAAO6I,EACPE,UAAWD,qvDCqBb,MAAAW,EAASnQ,EAAM2B,YAA+C,CAACxB,EAAO4B,KACxE,MAAMC,UACFA,EAASwB,KACTA,EAAO,EAACM,SACRA,GAAW,EAAKT,QAChBA,EAAOkC,MACPA,EAAK9E,SACLA,EAAQ2P,qBACRA,KACGC,GACHlQ,EAEEmQ,EAAoBtQ,EAAMmH,SAAQ,KACpC,OAAQ5B,GACJ,KAAK9H,EAAYkI,GACb,MAAO,KACX,KAAKlI,EAAYmI,IACb,MAAO,MACX,QACI,MAAO,mBAEhB,CAACL,IAEEgL,EAAgBvQ,EAAM4N,aAAY,KACpC,MAAM4C,EAAwBjL,IAAU9H,EAAYkI,GAAKlI,EAAYmI,IAAMnI,EAAYkI,GAEvFyK,IAAuBI,EAAS,GACjC,CAACjL,IAEJ,OACIvF,EAAAO,cAAA,SAAA,CAAA,gBACmBuD,QAAYC,EAC3BnD,IAAKmB,KACDsO,EACJrO,UAAWkB,EAAW,WAAYlB,EAAW,aAAewB,GAChD,aAAA8M,EACZpM,QAASqM,GACR9P,EACI,IAIjB0P,EAAO1O,YAAc,60GC1Cf,MAAAgP,EAAezQ,EAAM2B,YACvB,CAACxB,EAAO4B,KACJ,MAAMC,UAAEA,EAASwB,KAAEA,EAAO,EAACD,MAAEA,EAAKO,SAAEA,GAAW,EAAKyB,MAAEA,KAAUmL,GAAsBvQ,EAEhFwQ,EAA0BxN,EAC5BnD,wBACIgC,UAAWyE,EAAW,qBAAsBzE,EAAW,aAAewB,GACvD,gBAAAM,QAAYC,GAC3B/D,EAACO,cAAA4P,EACG,CAAAnO,UAAWyE,EAAW,kBACtB7F,IAAKmB,KACD2O,EACJlN,KAAMA,EACNM,SAAUA,EACVyB,MAAOA,GACPvF,EAACO,cAAA8F,EAAsB,CAAArE,UAAU,kBAAkBuD,MAAOA,KAE9DvF,EAAMO,cAAA,OAAA,CAAAyB,UAAWyE,EAAW,wBAAyBlD,KAI7D,OAAOvD,EAACO,cAAAoQ,EAA4B,IAAAxQ,GAAS,IAIrDsQ,EAAahP,YAAc,eCpBrB,MAAAmP,EAAwB5Q,EAAM2B,YAGlC,CAACxB,EAAO4B,KACN,MAAOzD,EAAOuS,GAAY7Q,EAAM0N,SAAiBvN,EAAM+G,cAAgB,KAEjE9G,OAAEA,EAAMC,UAAEA,GAAcL,EAAM2O,WAAW5O,IAEzCkH,aAAEA,EAAYC,aAAEA,EAAY4J,WAAEA,EAAUhN,SAAEA,KAAapB,GAAcvC,EAErE4Q,EAAsB/Q,EAAMmH,SAAQ,SACP,IAAjBD,EA8HtB,SAAoB5I,EAAe0S,EAAsBC,GACrD,IAAIvS,EAGAA,EADAJ,EAAQ2S,EACCA,EACF3S,EAAQ0S,EACNA,EAEA1S,EAGb,OAAOI,CACX,CAzIcwS,CAAWhK,EAAcD,EAAc,IACvC,IACP,CAACC,EAAcD,IAEZkK,EAA0BnR,EAAMmH,SAAQ,IACnCvH,EAAmBqH,IAC3B,CAACA,IAEEmK,GACA,IAAM9R,OAAO6R,IAAoB,IAAO7R,OAAOwR,EAAWO,WAE1DC,EAAoBtR,EAAM4N,aAC3B2D,IACG,GAAe,MAAVA,GAAiC,MAAblR,EAAoB,CAEzC,IAAImR,EAAkBD,EAAOE,eAAeX,EAAWY,WACnDC,EAA4C,YAAxBP,EACpBQ,GACCtS,OAAOkS,GAAmBG,IAAsBrS,OAAOwR,EAAWO,WAEvE,GAAID,EAAwB,YAAa,CAErC,IAAIS,EAA2B,IAAMvS,OAAOwR,EAAWO,WACnDS,EAAyBV,GAAyB,IAEtD,IACI,IAAIW,EAAoBjB,EAAWY,UAAY,EAC9CK,GAAqBC,EAAqBC,SAC1CH,EAAyB,GAC1BC,IAGAP,EAAkBD,EAAOE,eAAeM,GACxCJ,EAA6C,YAAzBG,EACpBF,IACKtS,OAAOkS,GAAmBG,IAC3BE,EAEJA,GAA4B,IAC5BC,IAA2B,IAInCjB,EAASe,QAETf,EAAS,MAGjB,CAACxQ,EAAWyQ,EAAYM,IAG5BpR,EAAM6I,WAAU,KACZyI,EAAkBlR,EAAO,GAC1B,CAACA,EAAQkR,IAEZ,MAAMY,EAA2BlS,EAAM4N,aACnCuE,MAAO7T,IACY,MAAV8B,GAAiC,MAAbC,SACfA,EAAU+R,MAAKD,UACjB,IAAIR,EAA4C,YAAxBP,EACpBiB,EAAkB3K,OACjBpJ,GAASgB,OAAOwR,EAAWO,WAAcM,GAU9C,GANAvR,EAAOkS,eACHxB,EAAWY,UACXW,EACA3K,OAAOiK,IAGPP,EAAwB,YAAa,CAErC,IAAIS,EAA2B,IAAMvS,OAAOwR,EAAWO,WACnDS,EAAyBV,GAAyB,IAEtD,IACI,IAAImB,EAAoBzB,EAAWY,UAAY,EAC9Ca,GAAqBP,EAAqBC,SAC1CH,EAAyB,GAC1BS,IAEAZ,EAA6C,YAAzBG,EACpBO,EAAkB3K,OACbpJ,GAASuT,EAA4BF,GAI1CvR,EAAOkS,eACHC,EACAF,EACA3K,OAAOiK,IAGXE,GAA4B,IAC5BC,IAA2B,UAI7B1R,EAAOoS,eAAe,IAIpClB,EAAkBlR,EAAO,GAE7B,CAACA,EAAQC,EAAWyQ,EAAYM,EAAuBE,IAG3D,OACItR,EAACO,cAAAoL,EACO,IAAAjJ,EACJ9B,IAAKmB,EACL+B,SAAUA,GAAwB,OAAX1D,EACvB6G,aAAcA,EACdC,aAAc6J,EACdzS,MAAOA,EACP0N,cAAekG,GACjB,IAIVtB,EAAsBnP,YAAc,8BCrI9B,MAAAgR,GAA0BzS,EAAM2B,YAGpC,CAACxB,EAAO4B,KACN,MAAOzD,EAAOuS,GAAY7Q,EAAM0N,SAAiB,KAE3CtN,OAAEA,EAAMC,UAAEA,EAASC,YAAEA,GAAgBN,EAAM2O,WAAW5O,IAEtDkH,aAAEA,EAAY6J,WAAEA,KAAepO,GAAcvC,EAE7CgR,EAA0BnR,EAAMmH,SAAQ,IACnCvH,EAAmBqH,IAC3B,CAACA,IAEEmK,GACA,IAAM9R,OAAO6R,IAAoB,IAAO7R,OAAOwR,EAAWO,WAE1DC,EAAoBtR,EAAM4N,aAC3B2D,IACG,GAAe,MAAVA,GAAiC,MAAblR,EAAoB,CAEzC,IAAImR,EAAkBD,EAAOmB,gBAAgB5B,EAAWY,WACpDC,EAA4C,YAAxBP,EACpBQ,GACCtS,OAAOkS,GAAmBG,IAAsBrS,OAAOwR,EAAWO,WAEvE,GAAID,EAAwB,YAAa,CAErC,IAAIS,EAA2B,IAAMvS,OAAOwR,EAAWO,WACnDS,EAAyBV,GAAyB,IAEtD,IACI,IAAIW,EAAoBjB,EAAWY,UAAY,EAC9CK,GAAqBY,EAAsBV,SAC3CH,EAAyB,GAC1BC,IAGAP,EAAkBD,EAAOmB,gBAAgBX,GACzCJ,EAA6C,YAAzBG,EACpBF,IACKtS,OAAOkS,GAAmBG,IAC3BE,EAEJA,GAA4B,IAC5BC,IAA2B,IAInCjB,EAASe,QAETf,EAAS,MAGjB,CAACxQ,EAAWyQ,EAAYM,IAa5B,OAVApR,EAAM6I,WAAU,KACZyI,EAAkBlR,GAElB,MAAMwS,EAAetS,GAAauS,0BAA0BC,UAAUxB,GAEtE,MAAO,KACHsB,GAAcG,QAAQ,CACzB,GACF,CAAC3S,EAAQE,EAAagR,IAGrBtR,gBAAC+G,EAAa,IACNrE,EACJ9B,IAAKmB,EACLkF,aAAcA,EACdC,aAAc,GACd5I,MAAOA,GACT,IAIVmU,GAAwBhR,YAAc,0BCvFhC,MAAAuR,GAAsBhT,EAAM2B,YAGhC,CAACxB,EAAO4B,KACN,MAAOkR,EAAUC,GAAelT,EAAM0N,UAAkB,IAElDtN,OAAEA,EAAMC,UAAEA,EAASC,YAAEA,GAAgBN,EAAM2O,WAAW5O,IAEtD+Q,WAAEA,KAAepO,GAAcvC,EAE/BwR,EAAoB,GAAKb,EAAWO,UAEpCC,EAAoBtR,EAAM4N,aAC3B2D,IACG,GAAe,MAAVA,GAAiC,MAAblR,EAAoB,CACzC,MAAMmR,EAAkBD,EAAOmB,gBAAgB5B,EAAWY,WAE1DwB,GADwB1B,EAAkBG,KAAuBA,QAGjEuB,GAAY,KAGpB,CAAC7S,EAAWyQ,EAAYa,IAa5B,OAVA3R,EAAM6I,WAAU,KACZyI,EAAkBlR,GAElB,MAAMwS,EAAetS,GAAauS,0BAA0BC,UAAUxB,GAEtE,MAAO,KACHsB,GAAcG,QAAQ,CACzB,GACF,CAAC3S,EAAQE,EAAagR,IAElBtR,EAACO,cAAA+F,EAAc,IAAA5D,EAAW9B,IAAKmB,EAAcwD,MAAO0N,GAAY,IAG3ED,GAAoBvR,YAAc,sBCpC5B,MAAA0R,GAAuBnT,EAAM2B,YAGjC,CAACxB,EAAO4B,KACN,MAAM3B,OAAEA,EAAMC,UAAEA,GAAcL,EAAM2O,WAAW5O,IAEzC+Q,WAAEA,EAAUhN,SAAEA,KAAaF,GAAgBzD,EAE3CwR,EAAoB,GAAKb,EAAWO,UAEpC5N,EAAazD,EAAM4N,aAAYuE,UAClB,MAAV/R,GAAiC,MAAbC,SACfA,EAAU+R,MAAKD,UACjB/R,EAAOkS,eAAexB,EAAWY,UAAW,EAAGC,SACzCvR,EAAOoS,eAAe,MAGrC,CAACpS,EAAQC,EAAWyQ,EAAYa,EAAmBtR,IAEhDqD,EAAe1D,EAAM4N,aAAYuE,UACpB,MAAV/R,GAAiC,MAAbC,SACfA,EAAU+R,MAAKD,UACjB/R,EAAOkS,eAAexB,EAAWY,UAAW,WAAYC,SAClDvR,EAAOoS,eAAe,MAGrC,CAACpS,EAAQC,EAAWyQ,EAAYa,EAAmBtR,IAEtD,OACIL,EAAAO,cAAC+C,EAAM,IACCM,EACJhD,IAAKmB,EACL+B,SAAUA,GAAuB,MAAV1D,EACvBqD,WAAYA,EACZC,aAAcA,GAChB,IAIVyP,GAAqB1R,YAAc,uBCnC7B,MAAA2R,GAAyBpT,EAAM2B,YAGnC,CAACxB,EAAO4B,KACN,MAAOwD,EAAO8N,GAAYrT,EAAM0N,SAAsBjQ,EAAYmI,MAE5DxF,OAAEA,EAAMC,UAAEA,GAAcL,EAAM2O,WAAW5O,IAEzC+Q,WAAEA,EAAUhN,SAAEA,KAAaF,GAAgBzD,EAE3CwR,EAAoB,GAAKb,EAAWO,UAEpCC,EAAoBtR,EAAM4N,aAC3B2D,IACG,GAAe,MAAVA,GAAiC,MAAblR,EAAoB,CAEzC,MAEMiT,GAFkB/B,EAAOE,eAAeX,EAAWY,WACfC,KAAuBA,EACzBlU,EAAYkI,GAAKlI,EAAYmI,IACrEyN,EAASC,QAETD,EAAS5V,EAAYmI,OAG7B,CAACvF,EAAWyQ,EAAYa,IAGtBvB,EAAuBpQ,EAAM4N,aAC/BuE,MAAO5M,IACY,MAAVnF,GAAiC,MAAbC,SACfA,EAAU+R,MAAKD,UAEjB,MAAME,EAA6B9M,IAAU9H,EAAYkI,GAAK,WAAa,EAE3EvF,EAAOkS,eAAexB,EAAWY,UAAWW,EAAiBV,SAEvDvR,EAAOoS,eAAe,IAIpClB,EAAkBlR,EAAO,GAE7B,CAACA,EAAQC,EAAWyQ,EAAYa,IAOpC,OAJA3R,EAAM6I,WAAU,KACZyI,EAAkBlR,EAAO,GAC1B,CAACA,EAAQkR,IAGRtR,EAAAO,cAACkQ,EAAY,CACT7P,IAAKmB,KACD6B,EACJE,SAAUA,GAAuB,MAAV1D,EACvBmF,MAAOA,EACP6K,qBAAsBA,GACxB,IAIVgD,GAAuB3R,YAAc,+BC9D/B,MAAA8R,GAA0BvT,EAAM2B,YAGpC,CAACxB,EAAO4B,KACN,MAAM3B,OAAEA,EAAMC,UAAEA,GAAcL,EAAM2O,WAAW5O,IAEzC+Q,WAAEA,EAAUhN,SAAEA,KAAaF,GAAgBzD,EAE3CuD,EAAe1D,EAAM4N,aAAYuE,UACrB,MAAV/R,GAAiC,MAAbC,SACdA,EAAU+R,MAAKD,gBACX/R,EAAOoT,kBAAkB1C,EAAWY,UAAWZ,EAAWO,UAAU,MAGnF,CAACjR,EAAQC,EAAWyQ,IAEvB,OACI9Q,EAACO,cAAA+C,EACO,IAAAM,EACJhD,IAAKmB,EACL+B,SAAUA,GAAuB,MAAV1D,EACvBsD,aAAcA,GAChB,IAIV6P,GAAwB9R,YAAc,0BCxBhC,MAAAgS,GAAwBzT,EAAM2B,YAGlC,CAACxB,EAAO4B,KACN,MAAOzD,EAAOuS,GAAY7Q,EAAM0N,SAAiB,KAE3CtN,OAAEA,EAAMC,UAAEA,GAAcL,EAAM2O,WAAW5O,IAEzC+Q,WAAEA,EAAU7J,aAAEA,EAAYnD,SAAEA,KAAapB,GAAcvC,EAEvDgR,EAA0BnR,EAAMmH,SAAQ,IACnCvH,EAAmBN,OAAO2H,KAClC,CAACA,IAEE0K,GACA,IAAMrS,OAAO6R,IAAoB,IAAO7R,OAAOwR,EAAWO,WAE1DC,EAAoBtR,EAAM4N,aAC3B2D,IACG,GAAe,MAAVA,GAAiC,MAAblR,EAAoB,CACzC,MAAMmR,EAAkBD,EAAOE,eAAeX,EAAWY,WACnDgC,GACDpU,OAAOkS,GAAmBG,IAAsBrS,OAAOwR,EAAWO,WACvER,EAAS6C,QAET7C,EAAS,MAGjB,CAACxQ,EAAWyQ,EAAYa,IAGtBgC,EAA+B3T,EAAM4N,aACtCtP,IACkB,MAAV8B,GAAiC,MAAbC,GACrBA,EAAU+R,MAAKD,UACX/R,EAAOkS,eACHxB,EAAWY,UACXpT,GAASwS,EAAWO,UACpB3J,OAAOiK,UAELvR,EAAOoS,eAAe,MAIxC,CAACpS,EAAQC,EAAWyQ,EAAYzQ,EAAWsR,IAO/C,OAJA3R,EAAM6I,WAAU,KACZyI,EAAkBlR,EAAO,GAC1B,CAACA,EAAQkR,IAGRtR,EAACO,cAAA0M,EACO,IAAAvK,EACJ9B,IAAKmB,EACL+B,SAAUA,GAAuB,MAAV1D,EACvB+M,aAAczF,OAAOpJ,GACrB2I,aAAcA,EACd+E,cAAe2H,GACjB,IAIVF,GAAsBhS,YAAc,wBCxDpC,MAAMmS,GAA+EzT,IACjF,MAAO7B,EAAOuS,GAAY7Q,EAAM0N,SAAiB,KAE3CtN,OAAEA,EAAMC,UAAEA,GAAcL,EAAM2O,WAAW5O,IAEzC+Q,WAAEA,EAAU7J,aAAEA,EAAYnD,SAAEA,KAAapB,GAAcvC,EAEvDgR,EAA0BnR,EAAMmH,SAAQ,IACnCvH,EAAmBqH,IAC3B,CAACA,IAEEmK,GACA,IAAM9R,OAAO6R,IAAoB,IAAO7R,OAAOwR,EAAWO,WAE1DC,EAAoBtR,EAAM4N,aAC3B2D,IACG,GAAe,MAAVA,GAAiC,MAAblR,EAAoB,CAEzC,IAAImR,EAAkBD,EAAOE,eAAeX,EAAWY,WACnDC,EAA4C,YAAxBP,EACpBQ,GACCtS,OAAOkS,GAAmBG,IAAsBrS,OAAOwR,EAAWO,WAEvE,GAAID,EAAwB,YAAa,CAErC,IAAIS,EAA2B,IAAMvS,OAAOwR,EAAWO,WACnDS,EAAyBV,GAAyB,IAEtD,IACI,IAAIW,EAAoBjB,EAAWY,UAAY,EAC9CK,GAAqBC,EAAqBC,SAC1CH,EAAyB,GAC1BC,IAGAP,EAAkBD,EAAOE,eAAeM,GACxCJ,EAA6C,YAAzBG,EACpBF,IACKtS,OAAOkS,GAAmBG,IAC3BE,EAEJA,GAA4B,IAC5BC,IAA2B,IAInCjB,EAASe,QAETf,EAAS,MAGjB,CAACxQ,EAAWyQ,EAAYM,IAGtBuC,EAA+B3T,EAAM4N,aACtCtP,IACG,GAAe,MAAV8B,GAAiC,MAAbC,EAAoB,CACzC,MAAMwT,EAAsBvU,OAAOhB,GACnC+B,EAAU+R,MAAKD,UACX,IAAIR,EAA4C,YAAxBP,EACpBiB,EAAkB3K,OACjBmM,GAAuBvU,OAAOwR,EAAWO,WAAcM,GAU5D,GANAvR,EAAOkS,eACHxB,EAAWY,UACXW,EACA3K,OAAOiK,IAGPP,EAAwB,YAAa,CAErC,IAAIS,EAA2B,IAAMvS,OAAOwR,EAAWO,WACnDS,EAAyBV,GAAyB,IAEtD,MAAM0C,EAAe,GAAOhD,EAAWY,UAEvC,IACI,IAAIqC,EAAY,EACfA,EAAYD,GAAkBhC,EAAyB,GACxDiC,IAEApC,EAA6C,YAAzBG,EACpBO,EAAkB3K,OACbmM,GAAuBhC,EACpBF,GAIRvR,EAAOkS,eACHxB,EAAWY,UAAYqC,EACvB1B,EACA3K,OAAOiK,IAGXE,GAA4B,IAC5BC,IAA2B,UAI7B1R,EAAOoS,eAAe,IAIpClB,EAAkBlR,EAAO,GAE7B,CAACA,EAAQC,EAAWyQ,EAAYQ,IAOpC,OAJAtR,EAAM6I,WAAU,KACZyI,EAAkBlR,EAAO,GAC1B,CAACA,EAAQkR,IAGRtR,EAAAO,cAACyP,EAAYrN,KAAI,IACTD,EACJoB,SAAUA,GAAuB,MAAV1D,EACvB9B,MAAOA,EAAME,WACbwN,cAAe2H,GACjB,EAIVC,GAA0BnS,YAAc,4BClKxC,MAAMuS,GAAwB/D,OAAOC,OACjC,GACA,CACIvN,KAAMiR,GACNhR,QAAS8M,EACT3M,QAAS0L,EACTY,KAAMF,EACND,MAAOD,EACPvI,MAAO6I,EACPE,UAAWD","x_google_ignoreList":[5]}
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/core/Types.ts","../../src/core/Numeric.ts","../../src/core/Binary.ts","../../src/contexts/FrontPanelContext.ts","../../src/components/FrontPanel/FrontPanel.tsx","../../node_modules/style-inject/dist/style-inject.es.js","../../src/primitives/Application/Application.tsx","../../src/primitives/Tooltip/Tooltip.tsx","../../src/primitives/TooltipUtility.tsx","../../src/primitives/Button/Button.tsx","../../src/components/Icons/ChevronIcon.tsx","../../src/components/Icons/IndicatorArrowIcon.tsx","../../src/components/Icons/IndicatorBarIcon.tsx","../../src/components/Icons/IndicatorStateIcon.tsx","../../src/components/Icons/RadioToggleStateIcon.tsx","../../src/components/Icons/SwitchToggleStateIcon.tsx","../../src/primitives/Indicator/Indicator.tsx","../../src/primitives/Label/Label.tsx","../../src/primitives/NumberDisplay/NumberDisplay.tsx","../../src/primitives/DigitEntry/DigitEntry.tsx","../../src/primitives/NumberEntry/NumberEntryDigits.tsx","../../src/primitives/NumberEntry/NumberEntry.tsx","../../src/primitives/RangeSlider/RangeSlider.tsx","../../src/primitives/SelectEntry/SelectEntryRoot.tsx","../../src/primitives/SelectEntry/SelectEntryContent.tsx","../../src/primitives/SelectEntry/SelectEntryGroup.tsx","../../src/primitives/SelectEntry/SelectEntryItem.tsx","../../src/primitives/SelectEntry/SelectEntryLabel.tsx","../../src/primitives/SelectEntry/SelectEntrySeparator.tsx","../../src/primitives/SelectEntry/SelectEntryTrigger.tsx","../../src/primitives/SelectEntry/SelectEntry.tsx","../../src/primitives/Toggle/Toggle.tsx","../../src/primitives/ToggleSwitch/ToggleSwitch.tsx","../../src/components/FrontPanelNumberEntry/FrontPanelNumberEntry.tsx","../../src/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.tsx","../../src/components/FrontPanelIndicator/FrontPanelIndicator.tsx","../../src/components/FrontPanelPushButton/FrontPanelPushButton.tsx","../../src/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.tsx","../../src/components/FrontPanelTriggerButton/FrontPanelTriggerButton.tsx","../../src/components/FrontPanelRangeSlider/FrontPanelRangeSlider.tsx","../../src/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.tsx","../../src/components/FrontPanelSelectEntry/FrontPanelSelectEntry.tsx"],"sourcesContent":[null,null,null,null,null,"function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["NumeralSystem","ToggleState","NumericDigits","DigitCount","this","_DigitCount","_NumeralSystem","DigitChars","_DigitChars","constructor","digitCount","numeralSystem","GetDigitChars","GetDigitFromValue","value","targetDigitValue","toString","numeral","retval","Binary","BINARY_DIGITVALUES","Octal","OCTAL_DIGITVALUES","Decimal","DECIMAL_DIGITVALUES","Hexadecimal","HEXADECIMAL_DIGITVALUES","ComputeDigitCountFromBits","bitcount","maxValue","BigInt","ComputeDigitCountFromValue","radix","digitIndex","val","MAX_DIGITS","CalculateBitLength","bitLength","targetValue","FrontPanelContext","React","createContext","FrontPanel","props","device","workQueue","eventSource","createElement","Provider","children","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","displayName","Application","forwardRef","_forwardedRef","TooltipPrimitive","Tooltip","forwardedRef","className","open","defaultOpen","onOpenChange","delayDuration","disableHoverableContent","content","container","forceMount","tooltipContentProps","rootProps","Root","Trigger","asChild","Portal","Content","sideOffset","collisionPadding","classNames","withTooltip","targetComponent","tooltip","Button","label","size","onButtonUp","onButtonDown","onButtonClick","buttonProps","ButtonWithTooltip","disabled","undefined","onMouseDown","onMouseUp","onClick","ChevronDirection","ChevronIcon","direction","Down","color","iconProps","xmlns","width","height","viewBox","fill","arrow","Up","d","DirectionChevron","IndicatorArrowDirection","IndicatorArrowIcon","IndicatorArrow","IndicatorBarIcon","IndicatorStateIcon","state","colorOnState","colorOffState","icon","On","Off","StateIcon","RadioToggleStateIcon","Fragment","cx","cy","r","stroke","strokeWidth","SwitchToggleStateIcon","Indicator","indicatorProps","IndicatorWithTooltip","classnames","Label","text","horizontalPosition","verticalPosition","labelProps","NumberDisplay","decimalScale","maximumValue","minimumValue","useMemo","maximumValueDigitCount","minimumValueDigitCount","negativeSign","NumberDisplayWithTooltip","outputValue","outputDigitCount","Number","outputValueStr","padStart","integerDigitCount","slice","prefixString","padEnd","length","FormatValueString","DigitEntry","digitEntryRef","useRef","variant","maximum","minimum","onValueChanged","valueRef","current","valueChangedRef","useEffect","onDigitMouseWheelEventHandler","event","deltaY","stopPropagation","preventDefault","addEventListener","passive","removeEventListener","canIncrement","canDecrement","tabIndex","onMouseEnter","e","currentTarget","focus","onMouseLeave","blur","onKeyDown","isHandled","key","nextElement","nextElementSibling","previousElement","previousElementSibling","numericValue","parseInt","isNaN","indicator","Math","abs","NumberEntryDigits","digitStates","onDigitStatesChange","digitEntries","map","digitState","id","isKeyDown","newDigitStates","excessDecimalScale","splice","paddedPrefixString","push","reverse","digitListItems","NumberEntry","sliderProps","showLabel","showTooltip","NumberEntryImpl","onValueChange","ComputeDigitStatesFromValue","NegativeSign","_isKeyDown","newValue","ComputeValueFromDigitStates","startDigitIndex","currentValue","currentMaxDifference","currentMinDifference","digitValue","digitMaximum","floor","digitMinimum","ceil","ComputeDigitLimitValue","digitValueDifference","RangeSlider","RangeSliderImpl","defaultValue","valueStep","showThumbLabel","showTrackLabels","initialValue","controlValue","setControlValue","useState","updateControlValue","useCallback","RangeSliderTrack","SliderPrimitive","Track","Range","min","max","step","orientation","Thumb","SelectEntryContext","SelectEntryRoot","SelectPrimitive","SelectEntryContent","contentProps","useContext","position","align","ScrollAreaPrimitive","Viewport","Scrollbar","SelectEntryGroup","Group","SelectEntryItem","itemProps","Item","ItemText","SelectEntryLabel","SelectEntrySeparator","Separator","SelectEntryTrigger","triggerProps","SelectEntryTriggerImpl","placeholder","Value","Icon","SelectEntry","Object","assign","Toggle","onToggleStateChanged","toggleProps","dataState","OnButtonClick","newState","ToggleSwitch","toggleSwitchProps","ToggleButtonWithTooltip","FrontPanelNumberEntry","setValue","fpEndpoint","clampedMinimumValue","maximumLimit","minimumLimit","ClampValue","targetBitLength","targetWireSpanBitMask","bitOffset","onUpdateWireValue","sender","sourceWireValue","getWireInValue","epAddress","targetWireBitMask","sourceSpanValue","currentWireSpanBitOffset","currentWireSpanBitMask","sourceWireAddress","WIREIN_ADDRESS_RANGE","onNumberEntryValueChange","async","post","targetWireValue","setWireInValue","targetWireAddress","updateWireIns","FrontPanelNumberDisplay","getWireOutValue","WIREOUT_ADDRESS_RANGE","subscription","wireOutValuesChangedEvent","subscribe","cancel","FrontPanelIndicator","bitValue","setBitValue","FrontPanelPushButton","FrontPanelToggleSwitch","setState","newToggleState","FrontPanelTriggerButton","activateTriggerIn","FrontPanelRangeSlider","sourceValue","onSelectedValueChangeHandler","FrontPanelSelectEntryRoot","targetWireSpanValue","maxWireCount","wireIndex","FrontPanelSelectEntry"],"mappings":"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","x_google_ignoreList":[5]}
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@opalkelly/frontpanel-react-components",
|
3
3
|
"type": "module",
|
4
|
-
"version": "0.
|
4
|
+
"version": "0.3.0",
|
5
5
|
"description": "React Component Library for OpalKelly FrontPanel Alloy",
|
6
6
|
"keywords": [
|
7
7
|
"FPGA",
|
@@ -55,7 +55,7 @@
|
|
55
55
|
"typescript": "^5.3.3"
|
56
56
|
},
|
57
57
|
"peerDependencies": {
|
58
|
-
"@opalkelly/frontpanel-alloy-core": "^0.
|
58
|
+
"@opalkelly/frontpanel-alloy-core": "^0.3.0",
|
59
59
|
"@radix-ui/react-scroll-area": "^1.0.5",
|
60
60
|
"@radix-ui/react-select": "^2.0.0",
|
61
61
|
"@radix-ui/react-slider": "^1.1.2",
|
@@ -67,10 +67,10 @@ const FrontPanelIndicator = React.forwardRef<
|
|
67
67
|
React.useEffect(() => {
|
68
68
|
onUpdateWireValue(device);
|
69
69
|
|
70
|
-
const subscription = eventSource?.
|
70
|
+
const subscription = eventSource?.wireOutValuesChangedEvent.subscribe(onUpdateWireValue);
|
71
71
|
|
72
72
|
return () => {
|
73
|
-
subscription?.
|
73
|
+
subscription?.cancel();
|
74
74
|
};
|
75
75
|
}, [device, eventSource, onUpdateWireValue]);
|
76
76
|
|
@@ -81,7 +81,7 @@ const FrontPanelNumberDisplay = React.forwardRef<
|
|
81
81
|
|
82
82
|
for (
|
83
83
|
let sourceWireAddress = fpEndpoint.epAddress + 1;
|
84
|
-
(sourceWireAddress <= WIREOUT_ADDRESS_RANGE.
|
84
|
+
(sourceWireAddress <= WIREOUT_ADDRESS_RANGE.maximum) &&
|
85
85
|
(currentWireSpanBitMask > 0n);
|
86
86
|
sourceWireAddress++
|
87
87
|
) {
|
@@ -108,10 +108,10 @@ const FrontPanelNumberDisplay = React.forwardRef<
|
|
108
108
|
React.useEffect(() => {
|
109
109
|
onUpdateWireValue(device);
|
110
110
|
|
111
|
-
const subscription = eventSource?.
|
111
|
+
const subscription = eventSource?.wireOutValuesChangedEvent.subscribe(onUpdateWireValue);
|
112
112
|
|
113
113
|
return () => {
|
114
|
-
subscription?.
|
114
|
+
subscription?.cancel();
|
115
115
|
};
|
116
116
|
}, [device, eventSource, onUpdateWireValue]);
|
117
117
|
|
@@ -87,7 +87,7 @@ const FrontPanelNumberEntry = React.forwardRef<
|
|
87
87
|
|
88
88
|
for (
|
89
89
|
let sourceWireAddress = fpEndpoint.epAddress + 1;
|
90
|
-
(sourceWireAddress <= WIREIN_ADDRESS_RANGE.
|
90
|
+
(sourceWireAddress <= WIREIN_ADDRESS_RANGE.maximum) &&
|
91
91
|
(currentWireSpanBitMask > 0n);
|
92
92
|
sourceWireAddress++
|
93
93
|
) {
|
@@ -118,7 +118,7 @@ const FrontPanelNumberEntry = React.forwardRef<
|
|
118
118
|
const onNumberEntryValueChange = React.useCallback(
|
119
119
|
async (value: bigint): Promise<void> => {
|
120
120
|
if ((device != null) && (workQueue != null)) {
|
121
|
-
await workQueue.
|
121
|
+
await workQueue.post(async () => {
|
122
122
|
let targetWireBitMask = targetWireSpanBitMask & 0xffffffffn;
|
123
123
|
let targetWireValue = Number(
|
124
124
|
(value << BigInt(fpEndpoint.bitOffset)) & targetWireBitMask
|
@@ -138,7 +138,7 @@ const FrontPanelNumberEntry = React.forwardRef<
|
|
138
138
|
|
139
139
|
for (
|
140
140
|
let targetWireAddress = fpEndpoint.epAddress + 1;
|
141
|
-
(targetWireAddress <= WIREIN_ADDRESS_RANGE.
|
141
|
+
(targetWireAddress <= WIREIN_ADDRESS_RANGE.maximum) &&
|
142
142
|
(currentWireSpanBitMask > 0n);
|
143
143
|
targetWireAddress++
|
144
144
|
) {
|
@@ -53,7 +53,7 @@ const FrontPanelPushButton = React.forwardRef<
|
|
53
53
|
|
54
54
|
const onButtonUp = React.useCallback(async (): Promise<void> => {
|
55
55
|
if ((device != null) && (workQueue != null)) {
|
56
|
-
await workQueue.
|
56
|
+
await workQueue.post(async () => {
|
57
57
|
device.setWireInValue(fpEndpoint.epAddress, 0, targetWireBitMask);
|
58
58
|
await device.updateWireIns();
|
59
59
|
});
|
@@ -62,7 +62,7 @@ const FrontPanelPushButton = React.forwardRef<
|
|
62
62
|
|
63
63
|
const onButtonDown = React.useCallback(async (): Promise<void> => {
|
64
64
|
if ((device != null) && (workQueue != null)) {
|
65
|
-
await workQueue.
|
65
|
+
await workQueue.post(async () => {
|
66
66
|
device.setWireInValue(fpEndpoint.epAddress, 0xffffffff, targetWireBitMask);
|
67
67
|
await device.updateWireIns();
|
68
68
|
});
|
@@ -79,7 +79,7 @@ const FrontPanelRangeSlider = React.forwardRef<
|
|
79
79
|
const onSelectedValueChangeHandler = React.useCallback(
|
80
80
|
(value: number) => {
|
81
81
|
if ((device != null) && (workQueue != null)) {
|
82
|
-
workQueue.
|
82
|
+
workQueue.post(async () => {
|
83
83
|
device.setWireInValue(
|
84
84
|
fpEndpoint.epAddress,
|
85
85
|
value << fpEndpoint.bitOffset,
|
@@ -82,7 +82,7 @@ const FrontPanelSelectEntryRoot: React.FC<FrontPanelSelectEntryRootCombinedProps
|
|
82
82
|
|
83
83
|
for (
|
84
84
|
let sourceWireAddress = fpEndpoint.epAddress + 1;
|
85
|
-
(sourceWireAddress <= WIREIN_ADDRESS_RANGE.
|
85
|
+
(sourceWireAddress <= WIREIN_ADDRESS_RANGE.maximum) &&
|
86
86
|
(currentWireSpanBitMask > 0n);
|
87
87
|
sourceWireAddress++
|
88
88
|
) {
|
@@ -110,7 +110,7 @@ const FrontPanelSelectEntryRoot: React.FC<FrontPanelSelectEntryRootCombinedProps
|
|
110
110
|
(value: string) => {
|
111
111
|
if ((device != null) && (workQueue != null)) {
|
112
112
|
const targetWireSpanValue = BigInt(value);
|
113
|
-
workQueue.
|
113
|
+
workQueue.post(async () => {
|
114
114
|
let targetWireBitMask = targetWireSpanBitMask & 0xffffffffn;
|
115
115
|
let targetWireValue = Number(
|
116
116
|
(targetWireSpanValue << BigInt(fpEndpoint.bitOffset)) & targetWireBitMask
|
@@ -75,7 +75,7 @@ const FrontPanelToggleSwitch = React.forwardRef<
|
|
75
75
|
const onToggleStateChanged = React.useCallback(
|
76
76
|
async (state: ToggleState): Promise<void> => {
|
77
77
|
if ((device != null) && (workQueue != null)) {
|
78
|
-
await workQueue.
|
78
|
+
await workQueue.post(async () => {
|
79
79
|
// Set the value of the target bit of the Wire endpoint based on the toggle state
|
80
80
|
const targetWireValue: WireValue = state === ToggleState.On ? 0xffffffff : 0;
|
81
81
|
|
@@ -52,8 +52,8 @@ const FrontPanelTriggerButton = React.forwardRef<
|
|
52
52
|
const { fpEndpoint, disabled, ...buttonProps } = props;
|
53
53
|
|
54
54
|
const onButtonDown = React.useCallback(async (): Promise<void> => {
|
55
|
-
if((device != null) && (workQueue != null)) {
|
56
|
-
await workQueue.
|
55
|
+
if ((device != null) && (workQueue != null)) {
|
56
|
+
await workQueue.post(async () => {
|
57
57
|
await device.activateTriggerIn(fpEndpoint.epAddress, fpEndpoint.bitOffset);
|
58
58
|
});
|
59
59
|
}
|