@opalkelly/frontpanel-react-components 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE +45 -0
- package/README.md +26 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types/components/FrontPanel/FrontPanel.d.ts +10 -0
- package/dist/cjs/types/components/FrontPanel/FrontPanel.props.d.ts +23 -0
- package/dist/cjs/types/components/FrontPanel/index.d.ts +7 -0
- package/dist/cjs/types/components/FrontPanelIndicator/FrontPanelIndicator.d.ts +30 -0
- package/dist/cjs/types/components/FrontPanelIndicator/FrontPanelIndicator.props.d.ts +17 -0
- package/dist/cjs/types/components/FrontPanelIndicator/index.d.ts +8 -0
- package/dist/cjs/types/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.d.ts +33 -0
- package/dist/cjs/types/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.props.d.ts +23 -0
- package/dist/cjs/types/components/FrontPanelNumberDisplay/index.d.ts +8 -0
- package/dist/cjs/types/components/FrontPanelNumberEntry/FrontPanelNumberEntry.d.ts +33 -0
- package/dist/cjs/types/components/FrontPanelNumberEntry/FrontPanelNumberEntry.props.d.ts +27 -0
- package/dist/cjs/types/components/FrontPanelNumberEntry/index.d.ts +8 -0
- package/dist/cjs/types/components/FrontPanelPushButton/FrontPanelPushButton.d.ts +31 -0
- package/dist/cjs/types/components/FrontPanelPushButton/FrontPanelPushButton.props.d.ts +17 -0
- package/dist/cjs/types/components/FrontPanelPushButton/index.d.ts +8 -0
- package/dist/cjs/types/components/FrontPanelRangeSlider/FrontPanelRangeSlider.d.ts +31 -0
- package/dist/cjs/types/components/FrontPanelRangeSlider/FrontPanelRangeSlider.props.d.ts +21 -0
- package/dist/cjs/types/components/FrontPanelRangeSlider/index.d.ts +8 -0
- package/dist/cjs/types/components/FrontPanelSelectEntry/FrontPanelSelectEntry.d.ts +17 -0
- package/dist/cjs/types/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.d.ts +43 -0
- package/dist/cjs/types/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.props.d.ts +21 -0
- package/dist/cjs/types/components/FrontPanelSelectEntry/index.d.ts +15 -0
- package/dist/cjs/types/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.d.ts +31 -0
- package/dist/cjs/types/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.props.d.ts +17 -0
- package/dist/cjs/types/components/FrontPanelToggleSwitch/index.d.ts +8 -0
- package/dist/cjs/types/components/FrontPanelTriggerButton/FrontPanelTriggerButton.d.ts +32 -0
- package/dist/cjs/types/components/FrontPanelTriggerButton/FrontPanelTriggerButton.props.d.ts +18 -0
- package/dist/cjs/types/components/FrontPanelTriggerButton/index.d.ts +8 -0
- package/dist/cjs/types/components/Icons/ChevronIcon.d.ts +17 -0
- package/dist/cjs/types/components/Icons/IndicatorArrowIcon.d.ts +17 -0
- package/dist/cjs/types/components/Icons/IndicatorBarIcon.d.ts +10 -0
- package/dist/cjs/types/components/Icons/IndicatorStateIcon.d.ts +14 -0
- package/dist/cjs/types/components/Icons/RadioToggleStateIcon.d.ts +14 -0
- package/dist/cjs/types/components/Icons/SwitchToggleStateIcon.d.ts +14 -0
- package/dist/cjs/types/components/Icons/index.d.ts +12 -0
- package/dist/cjs/types/components/Icons/types.d.ts +17 -0
- package/dist/cjs/types/components/index.d.ts +16 -0
- package/dist/cjs/types/components/types.d.ts +11 -0
- package/dist/cjs/types/contexts/FrontPanelContext.d.ts +15 -0
- package/dist/cjs/types/contexts/index.d.ts +8 -0
- package/dist/cjs/types/core/Binary.d.ts +7 -0
- package/dist/cjs/types/core/Numeric.d.ts +80 -0
- package/dist/cjs/types/core/Types.d.ts +34 -0
- package/dist/cjs/types/core/index.d.ts +9 -0
- package/dist/cjs/types/index.d.ts +10 -0
- package/dist/cjs/types/primitives/Application/Application.d.ts +10 -0
- package/dist/cjs/types/primitives/Application/Application.props.d.ts +10 -0
- package/dist/cjs/types/primitives/Application/index.d.ts +1 -0
- package/dist/cjs/types/primitives/Button/Button.d.ts +33 -0
- package/dist/cjs/types/primitives/Button/Button.props.d.ts +44 -0
- package/dist/cjs/types/primitives/Button/index.d.ts +3 -0
- package/dist/cjs/types/primitives/DigitEntry/DigitEntry.d.ts +33 -0
- package/dist/cjs/types/primitives/DigitEntry/DigitEntry.props.d.ts +51 -0
- package/dist/cjs/types/primitives/DigitEntry/index.d.ts +9 -0
- package/dist/cjs/types/primitives/Indicator/Indicator.d.ts +29 -0
- package/dist/cjs/types/primitives/Indicator/Indicator.props.d.ts +35 -0
- package/dist/cjs/types/primitives/Indicator/index.d.ts +9 -0
- package/dist/cjs/types/primitives/Label/Label.d.ts +31 -0
- package/dist/cjs/types/primitives/Label/Label.props.d.ts +33 -0
- package/dist/cjs/types/primitives/Label/index.d.ts +9 -0
- package/dist/cjs/types/primitives/NumberDisplay/NumberDisplay.d.ts +31 -0
- package/dist/cjs/types/primitives/NumberDisplay/NumberDisplay.props.d.ts +52 -0
- package/dist/cjs/types/primitives/NumberDisplay/index.d.ts +9 -0
- package/dist/cjs/types/primitives/NumberEntry/NumberEntry.d.ts +34 -0
- package/dist/cjs/types/primitives/NumberEntry/NumberEntry.props.d.ts +69 -0
- package/dist/cjs/types/primitives/NumberEntry/NumberEntryDigits.d.ts +27 -0
- package/dist/cjs/types/primitives/NumberEntry/NumberEntryDigits.props.d.ts +43 -0
- package/dist/cjs/types/primitives/NumberEntry/index.d.ts +9 -0
- package/dist/cjs/types/primitives/RangeSlider/RangeSlider.d.ts +33 -0
- package/dist/cjs/types/primitives/RangeSlider/RangeSlider.props.d.ts +77 -0
- package/dist/cjs/types/primitives/RangeSlider/index.d.ts +9 -0
- package/dist/cjs/types/primitives/SelectEntry/SelectEntry.d.ts +17 -0
- package/dist/cjs/types/primitives/SelectEntry/SelectEntryContent.d.ts +16 -0
- package/dist/cjs/types/primitives/SelectEntry/SelectEntryGroup.d.ts +15 -0
- package/dist/cjs/types/primitives/SelectEntry/SelectEntryItem.d.ts +15 -0
- package/dist/cjs/types/primitives/SelectEntry/SelectEntryLabel.d.ts +15 -0
- package/dist/cjs/types/primitives/SelectEntry/SelectEntryRoot.d.ts +39 -0
- package/dist/cjs/types/primitives/SelectEntry/SelectEntryRoot.props.d.ts +31 -0
- package/dist/cjs/types/primitives/SelectEntry/SelectEntrySeparator.d.ts +15 -0
- package/dist/cjs/types/primitives/SelectEntry/SelectEntryTrigger.d.ts +16 -0
- package/dist/cjs/types/primitives/SelectEntry/SelectEntryTrigger.props.d.ts +16 -0
- package/dist/cjs/types/primitives/SelectEntry/index.d.ts +17 -0
- package/dist/cjs/types/primitives/Toggle/Toggle.d.ts +35 -0
- package/dist/cjs/types/primitives/Toggle/Toggle.props.d.ts +37 -0
- package/dist/cjs/types/primitives/Toggle/index.d.ts +9 -0
- package/dist/cjs/types/primitives/ToggleSwitch/ToggleSwitch.d.ts +32 -0
- package/dist/cjs/types/primitives/ToggleSwitch/ToggleSwitch.props.d.ts +22 -0
- package/dist/cjs/types/primitives/ToggleSwitch/index.d.ts +8 -0
- package/dist/cjs/types/primitives/Tooltip/Tooltip.d.ts +35 -0
- package/dist/cjs/types/primitives/Tooltip/Tooltip.props.d.ts +17 -0
- package/dist/cjs/types/primitives/Tooltip/index.d.ts +8 -0
- package/dist/cjs/types/primitives/TooltipUtility.d.ts +12 -0
- package/dist/cjs/types/primitives/index.d.ts +24 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types/components/FrontPanel/FrontPanel.d.ts +10 -0
- package/dist/esm/types/components/FrontPanel/FrontPanel.props.d.ts +23 -0
- package/dist/esm/types/components/FrontPanel/index.d.ts +7 -0
- package/dist/esm/types/components/FrontPanelIndicator/FrontPanelIndicator.d.ts +30 -0
- package/dist/esm/types/components/FrontPanelIndicator/FrontPanelIndicator.props.d.ts +17 -0
- package/dist/esm/types/components/FrontPanelIndicator/index.d.ts +8 -0
- package/dist/esm/types/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.d.ts +33 -0
- package/dist/esm/types/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.props.d.ts +23 -0
- package/dist/esm/types/components/FrontPanelNumberDisplay/index.d.ts +8 -0
- package/dist/esm/types/components/FrontPanelNumberEntry/FrontPanelNumberEntry.d.ts +33 -0
- package/dist/esm/types/components/FrontPanelNumberEntry/FrontPanelNumberEntry.props.d.ts +27 -0
- package/dist/esm/types/components/FrontPanelNumberEntry/index.d.ts +8 -0
- package/dist/esm/types/components/FrontPanelPushButton/FrontPanelPushButton.d.ts +31 -0
- package/dist/esm/types/components/FrontPanelPushButton/FrontPanelPushButton.props.d.ts +17 -0
- package/dist/esm/types/components/FrontPanelPushButton/index.d.ts +8 -0
- package/dist/esm/types/components/FrontPanelRangeSlider/FrontPanelRangeSlider.d.ts +31 -0
- package/dist/esm/types/components/FrontPanelRangeSlider/FrontPanelRangeSlider.props.d.ts +21 -0
- package/dist/esm/types/components/FrontPanelRangeSlider/index.d.ts +8 -0
- package/dist/esm/types/components/FrontPanelSelectEntry/FrontPanelSelectEntry.d.ts +17 -0
- package/dist/esm/types/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.d.ts +43 -0
- package/dist/esm/types/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.props.d.ts +21 -0
- package/dist/esm/types/components/FrontPanelSelectEntry/index.d.ts +15 -0
- package/dist/esm/types/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.d.ts +31 -0
- package/dist/esm/types/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.props.d.ts +17 -0
- package/dist/esm/types/components/FrontPanelToggleSwitch/index.d.ts +8 -0
- package/dist/esm/types/components/FrontPanelTriggerButton/FrontPanelTriggerButton.d.ts +32 -0
- package/dist/esm/types/components/FrontPanelTriggerButton/FrontPanelTriggerButton.props.d.ts +18 -0
- package/dist/esm/types/components/FrontPanelTriggerButton/index.d.ts +8 -0
- package/dist/esm/types/components/Icons/ChevronIcon.d.ts +17 -0
- package/dist/esm/types/components/Icons/IndicatorArrowIcon.d.ts +17 -0
- package/dist/esm/types/components/Icons/IndicatorBarIcon.d.ts +10 -0
- package/dist/esm/types/components/Icons/IndicatorStateIcon.d.ts +14 -0
- package/dist/esm/types/components/Icons/RadioToggleStateIcon.d.ts +14 -0
- package/dist/esm/types/components/Icons/SwitchToggleStateIcon.d.ts +14 -0
- package/dist/esm/types/components/Icons/index.d.ts +12 -0
- package/dist/esm/types/components/Icons/types.d.ts +17 -0
- package/dist/esm/types/components/index.d.ts +16 -0
- package/dist/esm/types/components/types.d.ts +11 -0
- package/dist/esm/types/contexts/FrontPanelContext.d.ts +15 -0
- package/dist/esm/types/contexts/index.d.ts +8 -0
- package/dist/esm/types/core/Binary.d.ts +7 -0
- package/dist/esm/types/core/Numeric.d.ts +80 -0
- package/dist/esm/types/core/Types.d.ts +34 -0
- package/dist/esm/types/core/index.d.ts +9 -0
- package/dist/esm/types/index.d.ts +10 -0
- package/dist/esm/types/primitives/Application/Application.d.ts +10 -0
- package/dist/esm/types/primitives/Application/Application.props.d.ts +10 -0
- package/dist/esm/types/primitives/Application/index.d.ts +1 -0
- package/dist/esm/types/primitives/Button/Button.d.ts +33 -0
- package/dist/esm/types/primitives/Button/Button.props.d.ts +44 -0
- package/dist/esm/types/primitives/Button/index.d.ts +3 -0
- package/dist/esm/types/primitives/DigitEntry/DigitEntry.d.ts +33 -0
- package/dist/esm/types/primitives/DigitEntry/DigitEntry.props.d.ts +51 -0
- package/dist/esm/types/primitives/DigitEntry/index.d.ts +9 -0
- package/dist/esm/types/primitives/Indicator/Indicator.d.ts +29 -0
- package/dist/esm/types/primitives/Indicator/Indicator.props.d.ts +35 -0
- package/dist/esm/types/primitives/Indicator/index.d.ts +9 -0
- package/dist/esm/types/primitives/Label/Label.d.ts +31 -0
- package/dist/esm/types/primitives/Label/Label.props.d.ts +33 -0
- package/dist/esm/types/primitives/Label/index.d.ts +9 -0
- package/dist/esm/types/primitives/NumberDisplay/NumberDisplay.d.ts +31 -0
- package/dist/esm/types/primitives/NumberDisplay/NumberDisplay.props.d.ts +52 -0
- package/dist/esm/types/primitives/NumberDisplay/index.d.ts +9 -0
- package/dist/esm/types/primitives/NumberEntry/NumberEntry.d.ts +34 -0
- package/dist/esm/types/primitives/NumberEntry/NumberEntry.props.d.ts +69 -0
- package/dist/esm/types/primitives/NumberEntry/NumberEntryDigits.d.ts +27 -0
- package/dist/esm/types/primitives/NumberEntry/NumberEntryDigits.props.d.ts +43 -0
- package/dist/esm/types/primitives/NumberEntry/index.d.ts +9 -0
- package/dist/esm/types/primitives/RangeSlider/RangeSlider.d.ts +33 -0
- package/dist/esm/types/primitives/RangeSlider/RangeSlider.props.d.ts +77 -0
- package/dist/esm/types/primitives/RangeSlider/index.d.ts +9 -0
- package/dist/esm/types/primitives/SelectEntry/SelectEntry.d.ts +17 -0
- package/dist/esm/types/primitives/SelectEntry/SelectEntryContent.d.ts +16 -0
- package/dist/esm/types/primitives/SelectEntry/SelectEntryGroup.d.ts +15 -0
- package/dist/esm/types/primitives/SelectEntry/SelectEntryItem.d.ts +15 -0
- package/dist/esm/types/primitives/SelectEntry/SelectEntryLabel.d.ts +15 -0
- package/dist/esm/types/primitives/SelectEntry/SelectEntryRoot.d.ts +39 -0
- package/dist/esm/types/primitives/SelectEntry/SelectEntryRoot.props.d.ts +31 -0
- package/dist/esm/types/primitives/SelectEntry/SelectEntrySeparator.d.ts +15 -0
- package/dist/esm/types/primitives/SelectEntry/SelectEntryTrigger.d.ts +16 -0
- package/dist/esm/types/primitives/SelectEntry/SelectEntryTrigger.props.d.ts +16 -0
- package/dist/esm/types/primitives/SelectEntry/index.d.ts +17 -0
- package/dist/esm/types/primitives/Toggle/Toggle.d.ts +35 -0
- package/dist/esm/types/primitives/Toggle/Toggle.props.d.ts +37 -0
- package/dist/esm/types/primitives/Toggle/index.d.ts +9 -0
- package/dist/esm/types/primitives/ToggleSwitch/ToggleSwitch.d.ts +32 -0
- package/dist/esm/types/primitives/ToggleSwitch/ToggleSwitch.props.d.ts +22 -0
- package/dist/esm/types/primitives/ToggleSwitch/index.d.ts +8 -0
- package/dist/esm/types/primitives/Tooltip/Tooltip.d.ts +35 -0
- package/dist/esm/types/primitives/Tooltip/Tooltip.props.d.ts +17 -0
- package/dist/esm/types/primitives/Tooltip/index.d.ts +8 -0
- package/dist/esm/types/primitives/TooltipUtility.d.ts +12 -0
- package/dist/esm/types/primitives/index.d.ts +24 -0
- package/dist/index.d.ts +1456 -0
- package/package.json +81 -0
- package/src/components/FrontPanel/FrontPanel.props.ts +25 -0
- package/src/components/FrontPanel/FrontPanel.tsx +33 -0
- package/src/components/FrontPanel/index.ts +8 -0
- package/src/components/FrontPanelIndicator/FrontPanelIndicator.css +0 -0
- package/src/components/FrontPanelIndicator/FrontPanelIndicator.props.ts +20 -0
- package/src/components/FrontPanelIndicator/FrontPanelIndicator.stories.tsx +44 -0
- package/src/components/FrontPanelIndicator/FrontPanelIndicator.tsx +81 -0
- package/src/components/FrontPanelIndicator/index.ts +10 -0
- package/src/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.css +0 -0
- package/src/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.props.ts +27 -0
- package/src/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.stories.tsx +67 -0
- package/src/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.tsx +130 -0
- package/src/components/FrontPanelNumberDisplay/index.ts +10 -0
- package/src/components/FrontPanelNumberEntry/FrontPanelNumberEntry.css +0 -0
- package/src/components/FrontPanelNumberEntry/FrontPanelNumberEntry.props.ts +32 -0
- package/src/components/FrontPanelNumberEntry/FrontPanelNumberEntry.stories.tsx +104 -0
- package/src/components/FrontPanelNumberEntry/FrontPanelNumberEntry.tsx +195 -0
- package/src/components/FrontPanelNumberEntry/index.ts +10 -0
- package/src/components/FrontPanelPushButton/FrontPanelPushButton.css +0 -0
- package/src/components/FrontPanelPushButton/FrontPanelPushButton.props.ts +20 -0
- package/src/components/FrontPanelPushButton/FrontPanelPushButton.stories.tsx +46 -0
- package/src/components/FrontPanelPushButton/FrontPanelPushButton.tsx +80 -0
- package/src/components/FrontPanelPushButton/index.ts +10 -0
- package/src/components/FrontPanelRangeSlider/FrontPanelRangeSlider.css +0 -0
- package/src/components/FrontPanelRangeSlider/FrontPanelRangeSlider.props.ts +25 -0
- package/src/components/FrontPanelRangeSlider/FrontPanelRangeSlider.stories.tsx +92 -0
- package/src/components/FrontPanelRangeSlider/FrontPanelRangeSlider.tsx +108 -0
- package/src/components/FrontPanelRangeSlider/index.ts +10 -0
- package/src/components/FrontPanelSelectEntry/FrontPanelSelectEntry.css +0 -0
- package/src/components/FrontPanelSelectEntry/FrontPanelSelectEntry.stories.tsx +107 -0
- package/src/components/FrontPanelSelectEntry/FrontPanelSelectEntry.tsx +30 -0
- package/src/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.props.ts +25 -0
- package/src/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.tsx +175 -0
- package/src/components/FrontPanelSelectEntry/index.ts +17 -0
- package/src/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.css +0 -0
- package/src/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.props.ts +20 -0
- package/src/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.stories.tsx +46 -0
- package/src/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.tsx +108 -0
- package/src/components/FrontPanelToggleSwitch/index.ts +10 -0
- package/src/components/FrontPanelTriggerButton/FrontPanelTriggerButton.css +0 -0
- package/src/components/FrontPanelTriggerButton/FrontPanelTriggerButton.props.ts +21 -0
- package/src/components/FrontPanelTriggerButton/FrontPanelTriggerButton.stories.tsx +46 -0
- package/src/components/FrontPanelTriggerButton/FrontPanelTriggerButton.tsx +65 -0
- package/src/components/FrontPanelTriggerButton/index.ts +10 -0
- package/src/components/Icons/ChevronIcon.tsx +69 -0
- package/src/components/Icons/IndicatorArrowIcon.tsx +59 -0
- package/src/components/Icons/IndicatorBarIcon.tsx +34 -0
- package/src/components/Icons/IndicatorStateIcon.tsx +82 -0
- package/src/components/Icons/RadioToggleStateIcon.tsx +62 -0
- package/src/components/Icons/SwitchToggleStateIcon.tsx +68 -0
- package/src/components/Icons/index.ts +15 -0
- package/src/components/Icons/types.ts +20 -0
- package/src/components/index.ts +31 -0
- package/src/components/types.ts +13 -0
- package/src/contexts/FrontPanelContext.ts +23 -0
- package/src/contexts/index.ts +10 -0
- package/src/core/Binary.ts +23 -0
- package/src/core/Numeric.ts +168 -0
- package/src/core/Types.ts +39 -0
- package/src/core/index.ts +11 -0
- package/src/fonts/Inter-VariableFont_slnt,wght.ttf +0 -0
- package/src/index.css +11 -0
- package/src/index.ts +11 -0
- package/src/primitives/Application/Application.props.ts +10 -0
- package/src/primitives/Application/Application.tsx +24 -0
- package/src/primitives/Application/index.ts +1 -0
- package/src/primitives/Button/Button.css +60 -0
- package/src/primitives/Button/Button.props.ts +53 -0
- package/src/primitives/Button/Button.stories.tsx +54 -0
- package/src/primitives/Button/Button.tsx +75 -0
- package/src/primitives/Button/index.ts +4 -0
- package/src/primitives/DigitEntry/DigitEntry.css +120 -0
- package/src/primitives/DigitEntry/DigitEntry.props.ts +62 -0
- package/src/primitives/DigitEntry/DigitEntry.stories.tsx +84 -0
- package/src/primitives/DigitEntry/DigitEntry.tsx +226 -0
- package/src/primitives/DigitEntry/index.ts +15 -0
- package/src/primitives/Indicator/Indicator.css +66 -0
- package/src/primitives/Indicator/Indicator.props.ts +42 -0
- package/src/primitives/Indicator/Indicator.stories.tsx +44 -0
- package/src/primitives/Indicator/Indicator.tsx +64 -0
- package/src/primitives/Indicator/index.ts +11 -0
- package/src/primitives/Label/Label.css +49 -0
- package/src/primitives/Label/Label.props.ts +38 -0
- package/src/primitives/Label/Label.stories.tsx +53 -0
- package/src/primitives/Label/Label.tsx +66 -0
- package/src/primitives/Label/index.ts +11 -0
- package/src/primitives/NumberDisplay/NumberDisplay.css +63 -0
- package/src/primitives/NumberDisplay/NumberDisplay.props.ts +65 -0
- package/src/primitives/NumberDisplay/NumberDisplay.stories.tsx +83 -0
- package/src/primitives/NumberDisplay/NumberDisplay.tsx +155 -0
- package/src/primitives/NumberDisplay/index.ts +11 -0
- package/src/primitives/NumberEntry/NumberEntry.css +71 -0
- package/src/primitives/NumberEntry/NumberEntry.props.ts +86 -0
- package/src/primitives/NumberEntry/NumberEntry.stories.tsx +129 -0
- package/src/primitives/NumberEntry/NumberEntry.tsx +249 -0
- package/src/primitives/NumberEntry/NumberEntryDigits.props.ts +57 -0
- package/src/primitives/NumberEntry/NumberEntryDigits.tsx +117 -0
- package/src/primitives/NumberEntry/index.ts +11 -0
- package/src/primitives/RangeSlider/RangeSlider.css +110 -0
- package/src/primitives/RangeSlider/RangeSlider.props.ts +93 -0
- package/src/primitives/RangeSlider/RangeSlider.stories.tsx +76 -0
- package/src/primitives/RangeSlider/RangeSlider.tsx +168 -0
- package/src/primitives/RangeSlider/index.ts +14 -0
- package/src/primitives/SelectEntry/SelectEntry.stories.tsx +86 -0
- package/src/primitives/SelectEntry/SelectEntry.tsx +29 -0
- package/src/primitives/SelectEntry/SelectEntryContent.css +94 -0
- package/src/primitives/SelectEntry/SelectEntryContent.tsx +63 -0
- package/src/primitives/SelectEntry/SelectEntryGroup.css +17 -0
- package/src/primitives/SelectEntry/SelectEntryGroup.tsx +37 -0
- package/src/primitives/SelectEntry/SelectEntryItem.css +35 -0
- package/src/primitives/SelectEntry/SelectEntryItem.tsx +51 -0
- package/src/primitives/SelectEntry/SelectEntryLabel.css +16 -0
- package/src/primitives/SelectEntry/SelectEntryLabel.tsx +43 -0
- package/src/primitives/SelectEntry/SelectEntryRoot.css +10 -0
- package/src/primitives/SelectEntry/SelectEntryRoot.props.ts +38 -0
- package/src/primitives/SelectEntry/SelectEntryRoot.tsx +69 -0
- package/src/primitives/SelectEntry/SelectEntrySeparator.css +12 -0
- package/src/primitives/SelectEntry/SelectEntrySeparator.tsx +38 -0
- package/src/primitives/SelectEntry/SelectEntryTrigger.css +49 -0
- package/src/primitives/SelectEntry/SelectEntryTrigger.props.ts +18 -0
- package/src/primitives/SelectEntry/SelectEntryTrigger.tsx +111 -0
- package/src/primitives/SelectEntry/index.ts +20 -0
- package/src/primitives/Toggle/Toggle.css +67 -0
- package/src/primitives/Toggle/Toggle.props.ts +44 -0
- package/src/primitives/Toggle/Toggle.stories.tsx +61 -0
- package/src/primitives/Toggle/Toggle.tsx +90 -0
- package/src/primitives/Toggle/index.ts +11 -0
- package/src/primitives/ToggleSwitch/ToggleSwitch.css +118 -0
- package/src/primitives/ToggleSwitch/ToggleSwitch.props.ts +26 -0
- package/src/primitives/ToggleSwitch/ToggleSwitch.stories.tsx +85 -0
- package/src/primitives/ToggleSwitch/ToggleSwitch.tsx +73 -0
- package/src/primitives/ToggleSwitch/index.ts +10 -0
- package/src/primitives/Tooltip/Tooltip.css +93 -0
- package/src/primitives/Tooltip/Tooltip.props.ts +20 -0
- package/src/primitives/Tooltip/Tooltip.tsx +91 -0
- package/src/primitives/Tooltip/index.ts +10 -0
- package/src/primitives/TooltipUtility.tsx +24 -0
- package/src/primitives/index.ts +44 -0
- package/src/stories/decorators/Application.decorator.tsx +20 -0
- package/src/stories/decorators/FrontPanel.decorator.tsx +47 -0
@@ -0,0 +1,2 @@
|
|
1
|
+
import*as e from"react";import n,{useContext as r}from"react";import{WorkQueue as t,FrontPanelPeriodicUpdateTimer as a,WIREIN_ADDRESS_RANGE as i,WIREOUT_ADDRESS_RANGE as o}from"@opalkelly/frontpanel-alloy-core";import*as l from"@radix-ui/react-tooltip";import s from"classnames";import*as c from"@radix-ui/react-slider";import*as d from"@radix-ui/react-select";import*as f from"@radix-ui/react-scroll-area";var u,p;!function(e){e[e.Binary=2]="Binary",e[e.Octal=8]="Octal",e[e.Decimal=10]="Decimal",e[e.Hexadecimal=16]="Hexadecimal"}(u||(u={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On"}(p||(p={}));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 u.Binary:n=m.BINARY_DIGITVALUES;break;case u.Octal:n=m.OCTAL_DIGITVALUES;break;case u.Decimal:n=m.DECIMAL_DIGITVALUES;break;case u.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 g(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 h=n.createContext({device:window.FrontPanel,workQueue:new t}),y=e=>{const{device:r=window.FrontPanel,workQueue:i=new t,eventSource:o=new a(r,10)}=e;return n.createElement(h.Provider,{value:{device:r,workQueue:i,eventSource:o}},e.children)};function x(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))}}y.displayName="FrontPanel";x("");const b=e.forwardRef(((n,r)=>e.createElement(l.Provider,null,n.children)));b.displayName="Application";x('/**\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');x('/**\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');x('/**\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 w=n.forwardRef(((e,r)=>{const{children:t,className:a,open:i,defaultOpen:o,onOpenChange:c,delayDuration:d,disableHoverableContent:f,content:u,container:p,forceMount:m,...g}=e,h={open:i,defaultOpen:o,onOpenChange:c,delayDuration:d,disableHoverableContent:f};return n.createElement(l.Root,{...h},n.createElement(l.Trigger,{asChild:!0},t),n.createElement(l.Portal,{container:p,forceMount:m},n.createElement(l.Content,{sideOffset:4,collisionPadding:10,...g,ref:r,className:s("okTooltipContent",a)},n.createElement("p",{className:"okTooltipText"},u))))}));function E(e){return function(r){return null!=r.tooltip?n.createElement(w,{content:r.tooltip},e):e}}w.displayName="Tooltip";const S=n.forwardRef(((e,r)=>{const{className:t,label:a,size:i=1,onButtonUp:o,onButtonDown:l,onButtonClick:c,...d}=e,f=E(n.createElement("button",{"data-disabled":d.disabled||void 0,...d,ref:r,className:s("okButton",t,"ok-r-size-"+i),onMouseDown:l,onMouseUp:o,onClick:c},a));return n.createElement(f,{...e})}));S.displayName="Button";var k;x('/**\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"}(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:"12",height:"8",viewBox:"0 0 12 8",fill:"none",...i,ref:r},((n,r)=>{let t;return n===k.Up||k.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 I;v.displayName="ChevronIcon",function(e){e[e.Up=0]="Up",e[e.Down=1]="Down"}(I||(I={}));const N=e.forwardRef(((n,r)=>{const{direction:t=I.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 I.Up:t=e.createElement("path",{d:"M5 5.1656e-07L10 4L0 4L5 5.1656e-07Z",fill:r});break;case I.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))}));N.displayName="IndicatorArrowIcon";const C=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}))}));C.displayName="IndicatorBarIcon";const z=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 p.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 p.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))}));z.displayName="IndicatorStateIcon";const T=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 p.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 p.Off:default:a=e.createElement("circle",{cx:"7",cy:"7",r:"6",stroke:r,strokeWidth:"2"})}return a})(t,a,i))}));T.displayName="RadioToggleStateIcon";const D=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 p.On:i=e.createElement("circle",{cx:"4",cy:"4",r:"3.75",fill:t});break;case p.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))}));D.displayName="SwitchToggleStateIcon";const L=n.forwardRef(((e,r)=>{const{className:t,label:a,size:i=1,state:o,...l}=e,c=E(n.createElement("span",{...l,ref:r,className:s("okIndicator",t,"ok-r-size-"+i)},n.createElement(z,{className:"okIndicatorIcon",state:o?p.On:p.Off}),n.createElement("span",{className:s("okIndicatorLabel")},a)));return n.createElement(c,{...e})}));L.displayName="Indicator";x('/**\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=n.forwardRef(((e,r)=>{const{className:t,text:a,horizontalPosition:i="left",verticalPosition:o="top",children:l,...c}=e;return n.createElement("div",{...c,ref:r,className:s("okLabel",t,"ok-pos-"+i+"-"+o)},n.createElement("span",{className:s("okLabelText")},a),l)}));O.displayName="Label";x("/**\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 R=n.forwardRef(((e,r)=>{const{className:t,label:a,size:i=1,numeralSystem:o=u.Decimal,decimalScale:l=0,maximumValue:c,minimumValue:d,value:f}=e,p=n.useMemo((()=>{const e=m.ComputeDigitCountFromValue(c,o),n=m.ComputeDigitCountFromValue(d,o);return e>n?e:n}),[c,d,o]),g=n.useMemo((()=>n.createElement("span",{className:s("okNumberDisplayText","ok-r-size-"+i)},"-")),[i]),h=E(n.createElement("div",{ref:r,className:s("okNumberDisplay",t,"ok-r-size-"+i)},n.createElement("div",{className:"okNumberDisplayContent"},f<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===u.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}(f,p,o,l)))));if(null!=a)return n.createElement(O,{...a},n.createElement("div",{style:{width:"100%"}},n.createElement(h,{...e})));n.createElement(h,{...e})}));R.displayName="NumberDisplay";x('/**\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');x('/**\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 A=e=>{const r=n.useRef(null),{className:t,variant:a="standard",size:i=1,value:o,maximum:l,minimum:c,numeralSystem:d=u.Decimal,onValueChanged:f}=e,p=n.useRef(o);p.current=e.value;const m=n.useRef(f);m.current=f;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==l||o<l,h=null==c||o>c;return n.createElement("div",{className:s("okDigitEntry",t,"ok-r-size-"+i),ref:r,tabIndex:-1,onMouseEnter:e=>e.currentTarget.focus(),onMouseLeave:e=>e.currentTarget.blur(),onKeyDown:e=>{let n=!1;switch(e.key){case"ArrowUp":f?.(o+1,!1),n=!0;break;case"ArrowDown":f?.(o-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)){f?.(n,!0);const r=e.currentTarget.nextElementSibling;r?.focus()}}}},n.createElement((()=>{let e;switch(a){case"standard":e=n.createElement(N,{className:s("okDigitEntryIncrementIndicator"),direction:I.Up,color:"#343434","data-enabled":g});break;case"compact":e=n.createElement(C,{className:s("okDigitEntryIncrementIndicator"),color:"#343434","data-enabled":g});break;default:e=null}return e}),null),n.createElement("div",{className:s("okDigitEntryContent","ok-r-size-"+i)},Math.abs(o).toString(Number(d))),n.createElement((()=>{let e;switch(a){case"standard":e=n.createElement(N,{className:s("okDigitEntryDecrementIndicator"),direction:I.Down,color:"#343434","data-enabled":h});break;case"compact":e=n.createElement(C,{className:s("okDigitEntryDecrementIndicator"),color:"#343434","data-enabled":h});break;default:e=null}return e}),null))};A.displayName="DigitEntry";const V=e=>{const{variant:r="standard",size:t=1,numeralSystem:a,decimalScale:i=0,digitStates:o,onDigitStatesChange:l}=e;return n.createElement(n.Fragment,null,(()=>{const e=o.map(((e,i)=>n.createElement(A,{key:"digit-"+e.id,variant:r,size:t,numeralSystem:a,value:e.value,maximum:e.maximum,minimum:e.minimum,onValueChanged:(e,n)=>{const r=[...o];r[i]={...o[i],value:e},l?.(r,n)}})));if(a===u.Decimal&&i>0){const r=i-e.length;if(r<0)e.splice(i,0,n.createElement("span",{key:"digit-decimal-point",className:s("okNumberEntryText","ok-r-size-"+t)},"."));else{const a="0.",i=a.padEnd(a.length+r,"0");e.push(n.createElement("span",{key:"digit-decimal-prefix",className:s("okNumberEntryText","ok-r-size-"+t)},i))}}return e.reverse()})())};V.displayName="NumberEntryDigits";const B=n.forwardRef(((e,r)=>{const{label:t,tooltip:a,...i}=e,o=null!=t,l=null!=a;return o&&l?n.createElement(O,{...t},n.createElement(w,{content:a},n.createElement("div",{style:{width:"100%"}},n.createElement(P,{ref:r,...i})))):o?n.createElement(O,{...t},n.createElement("div",{style:{width:"100%"}},n.createElement(P,{ref:r,...i}))):l?n.createElement(w,{content:a},n.createElement("div",null,n.createElement(P,{ref:r,...i}))):n.createElement(P,{ref:r,...i})}));B.displayName="NumberEntry";const P=n.forwardRef(((e,r)=>{const{className:t,variant:a="standard",size:i=1,disabled:o=!1,numeralSystem:l=u.Decimal,decimalScale:c=0,maximumValue:d,minimumValue:f,value:p,onValueChange:g}=e,h=n.useMemo((()=>{const e=m.ComputeDigitCountFromValue(d,l),n=m.ComputeDigitCountFromValue(f,l);return Number(e>n?e:n)}),[d,f,l]),y=BigInt(l),x=M(p,d,f,y,h);return n.createElement("div",{ref:r,className:s("okNumberEntry",t,"ok-r-size-"+i),"data-disabled":o||void 0},n.createElement("div",{className:"okNumberEntryContent"},p<0n&&(e=>n.createElement("span",{className:s("okNumberEntryText","ok-r-size-"+e)},"-"))(i),n.createElement(V,{variant:a,size:i,numeralSystem:l,decimalScale:c,digitStates:x,onDigitStatesChange:(e,n)=>{let r=F(e,y);r>=0n!=p>=0n&&0n!==r&&(r+=2n*-p),r<=d&&r>=f&&g?.(r)}})))}));P.displayName="NumberEntryImpl";const F=(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},M=(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:j(r,Number(t)),minimum:j(a,Number(t))},o/=t,l/=t,s/=t}return i},j=(e,n)=>{let r;return r=e>=0?e<n?e:void 0:e>-n?e:void 0,r};x('/**\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 G=n.forwardRef(((e,r)=>{const{label:t,tooltip:a,...i}=e,o=null!=t,l=null!=a;return o&&l?n.createElement(O,{className:"okRangeSliderLabel",...t},n.createElement(w,{content:a},n.createElement("div",{style:{width:"100%"}},n.createElement(W,{ref:r,...i})))):o?n.createElement(O,{className:"okRangeSliderLabel",...t},n.createElement("div",{style:{width:"100%"}},n.createElement(W,{ref:r,...i}))):l?n.createElement(w,{content:a},n.createElement("div",{style:{width:"100%"}},n.createElement(W,{ref:r,...i}))):n.createElement(W,{ref:r,...i})}));G.displayName="RangeSlider";const W=n.forwardRef(((e,r)=>{const{className:t,tooltip:a,minimumValue:i=0,maximumValue:o=100,onValueChange:l,defaultValue:d=i,value:f,valueStep:u=1,showThumbLabel:p=!0,showTrackLabels:m=!0,disabled:g=!1}=e,h=f??d,[y,x]=n.useState([h]);n.useEffect((()=>{x([h])}),[h]);const b=n.useCallback((e=>{x([e]),l?.(e)}),[l]),E=()=>n.createElement(c.Track,{className:"okRangeSliderTrack"},n.createElement(c.Range,{className:"okRangeSliderRange"})),S=null!=a;return n.createElement("div",{className:s("okRangeSlider",t),"data-disabled":g||void 0},m?n.createElement("span",null,i):null,n.createElement(c.Root,{ref:r,min:i,max:o,step:u,value:y,onValueChange:e=>b(e[0]),orientation:"horizontal",className:"okRangeSliderRoot",disabled:g},S?n.createElement(w,{content:a},n.createElement(E,null)):n.createElement(E,null),n.createElement(c.Thumb,{className:"okRangeSliderThumb"},p?n.createElement("div",{className:"okRangeSliderThumbLabel"},y):null)),m?n.createElement("span",null,o):null)}));W.displayName="RangeSliderImpl";const U=n.createContext({label:{text:"",horizontalPosition:"right",verticalPosition:"top"},size:1,value:void 0}),_=e=>{const{label:r,children:t,size:a=1,tooltip:i,value:o,...l}=e;return n.createElement(d.Root,{value:o,...l},n.createElement(U.Provider,{value:n.useMemo((()=>({label:r,size:a,tooltip:i,value:o})),[r,a,i,o])},t))};_.displayName="SelectEntryRoot";x('/**\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 K=n.forwardRef(((e,r)=>{const{className:t,children:a,container:i,...o}=e,{size:l}=n.useContext(U);return n.createElement(d.Portal,{container:i},n.createElement(d.Content,{sideOffset:4,...o,ref:r,className:s("okSelectEntryContent",t,"ok-r-size-"+l),position:"popper",align:"start"},n.createElement(f.Root,{type:"auto",className:"okScrollArea"},n.createElement(d.Viewport,{asChild:!0},n.createElement(f.Viewport,{className:"okScrollAreaViewport"},n.createElement("div",{className:"okSelectEntryContentInner"},a))),n.createElement(f.Scrollbar,{className:"okScrollAreaScrollbar",orientation:"vertical"},n.createElement(f.Thumb,{className:"okScrollAreaThumb"})))))}));K.displayName="SelectEntryContent";x("/**\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 Q=n.forwardRef(((e,r)=>n.createElement(d.Group,{...e,ref:r,className:s("okSelectEntryGroup",e.className)})));Q.displayName="SelectEntryGroup";x('/**\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 X=n.forwardRef(((e,r)=>{const{className:t,children:a,...i}=e,{size:o,value:l}=n.useContext(U);return n.createElement(d.Item,{...i,ref:r,className:s("okSelectEntryItem",t,"ok-r-size-"+o)},n.createElement(T,{state:l===e.value?p.On:p.Off}),n.createElement(d.ItemText,null,a))}));X.displayName="SelectEntryItem";x('/**\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 Y=n.forwardRef(((e,r)=>{const{className:t,...a}=e,{size:i}=n.useContext(U);return n.createElement(d.Label,{...a,ref:r,className:s("okSelectEntryLabel",t,"ok-r-size-"+i)})}));Y.displayName="SelectEntryLabel";x("/**\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 Z=n.forwardRef(((e,r)=>n.createElement(d.Separator,{...e,ref:r,className:s("okSelectEntrySeparator",e.className)})));Z.displayName="SelectEntrySeparator";x('/**\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=n.forwardRef(((e,t)=>{const{label:a,tooltip:i,...o}=r(U),l=null!=a,s=null!=i;return l&&s?n.createElement(O,{...a},n.createElement(w,{content:i},n.createElement(q,{ref:t,...e,style:{width:"100%"}}))):l?n.createElement(O,{...a},n.createElement(q,{ref:t,...o,style:{width:"100%"}})):s?n.createElement(w,{content:i},n.createElement("div",null,n.createElement(q,{ref:t,...o}))):n.createElement(q,{ref:t,...o})}));H.displayName="SelectEntryTrigger";const q=n.forwardRef(((e,r)=>{const{className:t,placeholder:a,...i}=e,{size:o}=n.useContext(U);return n.createElement(d.Trigger,{asChild:!0},n.createElement("button",{...i,ref:r,className:s("okSelectEntryTrigger",t,"ok-r-size-"+o)},n.createElement("span",{className:"okSelectEntryTriggerInner"},n.createElement(d.Value,{placeholder:a})),n.createElement(d.Icon,{asChild:!0},n.createElement(v,{direction:k.Down}))))}));q.displayName="SelectEntryTriggerImpl";const J=Object.assign({},{Root:_,Trigger:H,Content:K,Item:X,Group:Q,Label:Y,Separator:Z});x('/**\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 $=n.forwardRef(((e,r)=>{const{className:t,size:a=1,disabled:i=!1,tooltip:o,state:l,children:c,onToggleStateChanged:d,...f}=e,u=n.useMemo((()=>{switch(l){case p.On:return"on";case p.Off:return"off";default:return"indeterminate"}}),[l]),m=n.useCallback((()=>{const e=l===p.On?p.Off:p.On;d?.(e)}),[l]);return n.createElement("button",{"data-disabled":i||void 0,ref:r,...f,className:s("okToggle",t,"ok-r-size-"+a),"data-state":u,onClick:m},c)}));$.displayName="Toggle";x('/**\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 ee=n.forwardRef(((e,r)=>{const{className:t,size:a=1,label:i,disabled:o=!1,state:l,...c}=e,d=E(n.createElement("span",{className:s("okToggleSwitchRoot",t,"ok-r-size-"+a),"data-disabled":o||void 0},n.createElement($,{className:s("okToggleSwitch"),ref:r,...c,size:a,disabled:o,state:l},n.createElement(D,{className:"okIndicatorIcon",state:l})),n.createElement("span",{className:s("okToggleSwitchLabel")},i)));return n.createElement(d,{...e})}));ee.displayName="ToggleSwitch";const ne=n.forwardRef(((e,r)=>{const[t,a]=n.useState(e.minimumValue??0n),{device:o,workQueue:l}=n.useContext(h),{maximumValue:s,minimumValue:c,fpEndpoint:d,...f}=e,u=n.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]),p=n.useMemo((()=>g(s)),[s]),m=(1n<<BigInt(p))-1n<<BigInt(d.bitOffset),y=n.useCallback((async e=>{await l.Post((async()=>{let n=await e.getWireInValue(d.epAddress),r=0xffffffffn&m,t=(BigInt(n)&r)>>BigInt(d.bitOffset);if(m>0xffffffffn){let a=32n-BigInt(d.bitOffset),o=m>>32n;for(let l=d.epAddress+1;l<=i.Maximum&&o>0n;l++)n=await e.getWireInValue(l),r=0xffffffffn&o,t|=(BigInt(n)&r)<<a,a+=32n,o>>=32n}a(t)}))}),[d,m]);n.useEffect((()=>{y(o)}),[o,y]);const x=n.useCallback((async e=>{await l.Post((async()=>{let n=0xffffffffn&m,r=Number(e<<BigInt(d.bitOffset)&n);if(await o.setWireInValue(d.epAddress,r,Number(n)),m>0xffffffffn){let t=32n-BigInt(d.bitOffset),a=m>>32n;for(let l=d.epAddress+1;l<=i.Maximum&&a>0n;l++)n=0xffffffffn&a,r=Number(e>>t&n),await o.setWireInValue(l,r,Number(n)),t+=32n,a>>=32n}await o.updateWireIns()})),y(o)}),[o,l,d,m,y]);return n.createElement(B,{...f,ref:r,maximumValue:s,minimumValue:u,value:t,onValueChange:x})}));ne.displayName="FrontPanelNumberEntry";x("");const re=n.forwardRef(((e,r)=>{const[t,a]=n.useState(0n),{device:i,workQueue:l,eventSource:s}=n.useContext(h),{maximumValue:c,fpEndpoint:d,...f}=e,u=n.useMemo((()=>g(c)),[c]),p=(1n<<BigInt(u))-1n<<BigInt(d.bitOffset),m=n.useCallback((async e=>{await l.Post((async()=>{let n=await 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.Maximum&&i>0n;l++)n=await e.getWireOutValue(l),r=0xffffffffn&i,t|=(BigInt(n)&r)<<a,a+=32n,i>>=32n}a(t)}))}),[d,p]);return n.useEffect((()=>{m(i);const e=s?.WireOutValuesChangedEvent.SubscribeAsync(m);return()=>{e?.Cancel()}}),[i,s,m]),n.createElement(R,{...f,ref:r,maximumValue:c,minimumValue:0n,value:t})}));re.displayName="FrontPanelNumberDisplay";const te=n.forwardRef(((e,r)=>{const[t,a]=n.useState(!1),{device:i,workQueue:o,eventSource:l}=n.useContext(h),{fpEndpoint:s,...c}=e,d=1<<s.bitOffset,f=n.useCallback((async e=>{await o.Post((async()=>{const n=await e.getWireOutValue(s.epAddress);a((n&d)===d)}))}),[s,d]);return n.useEffect((()=>{f(i);const e=l?.WireOutValuesChangedEvent.SubscribeAsync(f);return()=>{e?.Cancel()}}),[i,l,f]),n.createElement(L,{...c,ref:r,state:t})}));te.displayName="FrontPanelIndicator";const ae=n.forwardRef(((e,r)=>{const{device:t,workQueue:a}=n.useContext(h),{fpEndpoint:i,...o}=e,l=1<<i.bitOffset,s=n.useCallback((async()=>{await a.Post((async()=>{await t.setWireInValue(i.epAddress,0,l),await t.updateWireIns()}))}),[t,i,l,a]),c=n.useCallback((async()=>{await a.Post((async()=>{await t.setWireInValue(i.epAddress,4294967295,l),await t.updateWireIns()}))}),[t,i,l,a]);return n.createElement(S,{...o,ref:r,onButtonUp:s,onButtonDown:c})}));ae.displayName="FrontPanelPushButton";const ie=n.forwardRef(((e,r)=>{const[t,a]=n.useState(p.Off),{device:i,workQueue:o}=n.useContext(h),{fpEndpoint:l,...s}=e,c=1<<l.bitOffset,d=n.useCallback((async e=>{await o.Post((async()=>{const n=(await e.getWireInValue(l.epAddress)&c)===c?p.On:p.Off;a(n)}))}),[l,c]),f=n.useCallback((async e=>{await o.Post((async()=>{const n=e===p.On?4294967295:0;await i.setWireInValue(l.epAddress,n,c),await i.updateWireIns()})),d(i)}),[i,l,c,o]);return n.useEffect((()=>{d(i)}),[i,d]),n.createElement(ee,{ref:r,...s,state:t,onToggleStateChanged:f})}));ie.displayName="FrontPanelToggleSwitch";x("");const oe=n.forwardRef(((e,r)=>{const{device:t,workQueue:a}=n.useContext(h),{fpEndpoint:i,...o}=e,l=n.useCallback((async()=>{await a.Post((async()=>{await t.activateTriggerIn(i.epAddress,i.bitOffset)}))}),[t,i]);return n.createElement(S,{...o,ref:r,onButtonDown:l})}));oe.displayName="FrontPanelTriggerButton";const le=n.forwardRef(((e,r)=>{const[t,a]=n.useState(0n),{device:i,workQueue:o}=n.useContext(h),{fpEndpoint:l,maximumValue:s,...c}=e,d=n.useMemo((()=>g(BigInt(s))),[s]),f=(1n<<BigInt(d))-1n<<BigInt(l.bitOffset),u=n.useCallback((async e=>{await o.Post((async()=>{const n=await e.getWireInValue(l.epAddress),r=(BigInt(n)&f)>>BigInt(l.bitOffset);a(r)}))}),[l,f]),p=n.useCallback((e=>{o.Post((async()=>{await i.setWireInValue(l.epAddress,e<<l.bitOffset,Number(f)),await i.updateWireIns()}))}),[i,l,o,f]);return n.useEffect((()=>{u(i)}),[i,u]),n.createElement(G,{...c,ref:r,defaultValue:Number(t),maximumValue:s,onValueChange:p})}));le.displayName="FrontPanelRangeSlider";const se=e=>{const[r,t]=n.useState(0n),{device:a,workQueue:o}=n.useContext(h),{fpEndpoint:l,maximumValue:s,...c}=e,d=n.useMemo((()=>g(s)),[s]),f=(1n<<BigInt(d))-1n<<BigInt(l.bitOffset),u=n.useCallback((async e=>{await o.Post((async()=>{let n=await e.getWireInValue(l.epAddress),r=0xffffffffn&f,a=(BigInt(n)&r)>>BigInt(l.bitOffset);if(f>0xffffffffn){let t=32n-BigInt(l.bitOffset),o=f>>32n;for(let s=l.epAddress+1;s<=i.Maximum&&o>0n;s++)n=await e.getWireInValue(s),r=0xffffffffn&o,a|=(BigInt(n)&r)<<t,t+=32n,o>>=32n}t(a)}))}),[l,f]),p=n.useCallback((e=>{const n=BigInt(e);o.Post((async()=>{let e=0xffffffffn&f,r=Number(n<<BigInt(l.bitOffset)&e);if(await 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),await a.setWireInValue(l.epAddress+s,r,Number(e)),t+=32n,i>>=32n}await a.updateWireIns()})),u(a)}),[a,l,o,u]);return n.useEffect((()=>{u(a)}),[a,u]),n.createElement(J.Root,{...c,value:r.toString(),onValueChange:p})};se.displayName="FrontPanelSelectEntryRoot";const ce=Object.assign({},{Root:se,Trigger:H,Content:K,Item:X,Group:Q,Label:Y,Separator:Z});export{b as Application,S as Button,g as CalculateBitLength,y as FrontPanel,h as FrontPanelContext,te as FrontPanelIndicator,re as FrontPanelNumberDisplay,ne as FrontPanelNumberEntry,ae as FrontPanelPushButton,le as FrontPanelRangeSlider,ce as FrontPanelSelectEntry,se as FrontPanelSelectEntryRoot,ie as FrontPanelToggleSwitch,oe as FrontPanelTriggerButton,L as Indicator,O as Label,R as NumberDisplay,B as NumberEntry,u as NumeralSystem,m as NumericDigits,G as RangeSlider,J as SelectEntry,K as SelectEntryContent,Q as SelectEntryGroup,X as SelectEntryItem,Y as SelectEntryLabel,_ as SelectEntryRoot,Z as SelectEntrySeparator,H as SelectEntryTrigger,$ as Toggle,p as ToggleState,ee as ToggleSwitch,w as Tooltip};
|
2
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +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","device","window","FrontPanel","workQueue","WorkQueue","props","eventSource","FrontPanelPeriodicUpdateTimer","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","async","sender","Post","sourceWireValue","getWireInValue","epAddress","targetWireBitMask","sourceSpanValue","currentWireSpanBitOffset","currentWireSpanBitMask","sourceWireAddress","WIREIN_ADDRESS_RANGE","Maximum","onNumberEntryValueChange","targetWireValue","setWireInValue","targetWireAddress","updateWireIns","FrontPanelNumberDisplay","getWireOutValue","WIREOUT_ADDRESS_RANGE","subscription","WireOutValuesChangedEvent","SubscribeAsync","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]}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
import React from "react";
|
8
|
+
import { FrontPanelProps } from "./FrontPanel.props";
|
9
|
+
declare const FrontPanel: React.FC<FrontPanelProps>;
|
10
|
+
export default FrontPanel;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
/// <reference types="react" />
|
8
|
+
import { IFrontPanel, IFrontPanelEventSource, WorkQueue } from "@opalkelly/frontpanel-alloy-core";
|
9
|
+
interface FrontPanelProps extends React.PropsWithChildren<NonNullable<unknown>> {
|
10
|
+
/**
|
11
|
+
* The front panel device to be used
|
12
|
+
*/
|
13
|
+
device?: IFrontPanel;
|
14
|
+
/**
|
15
|
+
* Optional work queue to be used
|
16
|
+
*/
|
17
|
+
workQueue?: WorkQueue;
|
18
|
+
/**
|
19
|
+
* Optional event source to be used
|
20
|
+
*/
|
21
|
+
eventSource?: IFrontPanelEventSource;
|
22
|
+
}
|
23
|
+
export { FrontPanelProps };
|
@@ -0,0 +1,30 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
import React from "react";
|
8
|
+
import { Indicator } from "../../primitives";
|
9
|
+
import FrontPanelIndicatorProps from "./FrontPanelIndicator.props";
|
10
|
+
interface FrontPanelIndicatorCombinedProps extends Omit<React.ComponentPropsWithoutRef<typeof Indicator>, "state">, FrontPanelIndicatorProps {
|
11
|
+
}
|
12
|
+
export type { FrontPanelIndicatorCombinedProps };
|
13
|
+
/**
|
14
|
+
* `FrontPanelIndicator` is a React component that renders an indicator that represents the state of a WireOut endpoint.
|
15
|
+
*
|
16
|
+
* @component
|
17
|
+
* @param {object} props - Properties passed to component
|
18
|
+
* @param {React.Ref} forwardedRef - Forwarded ref for the indicator
|
19
|
+
*
|
20
|
+
* @returns {React.Node} The rendered FrontPanelIndicator component
|
21
|
+
*
|
22
|
+
* @example
|
23
|
+
* ```jsx
|
24
|
+
* <FrontPanelIndicator
|
25
|
+
* label="Indicator"
|
26
|
+
* fpEndpoint={{epAddress: 0x20, bitOffset: 1}} />
|
27
|
+
* ```
|
28
|
+
*/
|
29
|
+
declare const FrontPanelIndicator: React.ForwardRefExoticComponent<FrontPanelIndicatorCombinedProps & React.RefAttributes<HTMLSpanElement>>;
|
30
|
+
export default FrontPanelIndicator;
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
import { EndpointAddressProps } from "../types";
|
8
|
+
/**
|
9
|
+
* Interface for the properties of the `FrontPanelIndicator` component.
|
10
|
+
*/
|
11
|
+
interface FrontPanelIndicatorProps {
|
12
|
+
/**
|
13
|
+
* Address of the frontpanel endpoint
|
14
|
+
*/
|
15
|
+
fpEndpoint: EndpointAddressProps;
|
16
|
+
}
|
17
|
+
export default FrontPanelIndicatorProps;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
export { default } from "./FrontPanelIndicator";
|
8
|
+
export { default as FrontPanelIndicatorProps } from "./FrontPanelIndicator.props";
|
@@ -0,0 +1,33 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
import React from "react";
|
8
|
+
import "./FrontPanelNumberDisplay.css";
|
9
|
+
import { NumberDisplay } from "../../primitives";
|
10
|
+
import FrontPanelNumberDisplayProps from "./FrontPanelNumberDisplay.props";
|
11
|
+
interface FrontPanelNumberDisplayCombinedProps extends Omit<React.ComponentPropsWithoutRef<typeof NumberDisplay>, "value" | "maximumValue" | "minimumValue">, FrontPanelNumberDisplayProps {
|
12
|
+
}
|
13
|
+
export type { FrontPanelNumberDisplayCombinedProps };
|
14
|
+
/**
|
15
|
+
* `FrontPanelNumberDisplay` is a React component that renders a number display to represent the value of a WireOut endpoint using
|
16
|
+
* binary, octal, decimal, or hexadecimal numeral systems. It also allows to optionally set the decimal scale of the number when
|
17
|
+
* using the decimal numeral system.
|
18
|
+
*
|
19
|
+
* @component
|
20
|
+
* @param {object} props - Properties passed to component
|
21
|
+
* @param {React.Ref} forwardedRef - Forwarded ref for the number display
|
22
|
+
*
|
23
|
+
* @returns {React.Node} The rendered FrontPanelNumberDisplay component
|
24
|
+
*
|
25
|
+
* @example
|
26
|
+
* ```jsx
|
27
|
+
* <FrontPanelNumberDisplay
|
28
|
+
* fpEndpoint={{epAddress: 0x20, bitOffset: 1}}
|
29
|
+
* maximumValue=0xffffffff />
|
30
|
+
* ```
|
31
|
+
*/
|
32
|
+
declare const FrontPanelNumberDisplay: React.ForwardRefExoticComponent<FrontPanelNumberDisplayCombinedProps & React.RefAttributes<HTMLDivElement>>;
|
33
|
+
export default FrontPanelNumberDisplay;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
import { EndpointAddressProps } from "../types";
|
8
|
+
/**
|
9
|
+
* Interface for the properties of the `FrontPanelNumberDisplay` component.
|
10
|
+
*
|
11
|
+
* @interface
|
12
|
+
*/
|
13
|
+
interface FrontPanelNumberDisplayProps {
|
14
|
+
/**
|
15
|
+
* Address of the frontpanel endpoint
|
16
|
+
*/
|
17
|
+
fpEndpoint: EndpointAddressProps;
|
18
|
+
/**
|
19
|
+
* Maximum value that the number display will allow
|
20
|
+
*/
|
21
|
+
maximumValue: bigint;
|
22
|
+
}
|
23
|
+
export default FrontPanelNumberDisplayProps;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
export { default } from "./FrontPanelNumberDisplay";
|
8
|
+
export { default as FrontPanelNumberDisplayProps } from "./FrontPanelNumberDisplay.props";
|
@@ -0,0 +1,33 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
import React from "react";
|
8
|
+
import "./FrontPanelNumberEntry.css";
|
9
|
+
import { NumberEntry } from "../../primitives";
|
10
|
+
import FrontPanelNumberEntryProps from "./FrontPanelNumberEntry.props";
|
11
|
+
interface FrontPanelNumberEntryCombinedProps extends Omit<React.ComponentPropsWithoutRef<typeof NumberEntry>, "value" | "maximumValue" | "minimumValue" | "onValueChange">, FrontPanelNumberEntryProps {
|
12
|
+
}
|
13
|
+
export type { FrontPanelNumberEntryCombinedProps };
|
14
|
+
/**
|
15
|
+
* `FrontPanelNumberEntry` is a React component that renders a number entry field to allow setting the value of a WireIn endpoint
|
16
|
+
* represented in binary, octal, decimal, or hexadecimal numeral systems. The values of the individual digits of the number can
|
17
|
+
* be entered by key or they can be incremented and decremented using the up and down arrow keys and or the mouse wheel.
|
18
|
+
*
|
19
|
+
* @component
|
20
|
+
* @param {Object} props - Properties passed to component
|
21
|
+
* @param {React.Ref} forwardedRef - Forwarded ref for the number display
|
22
|
+
*
|
23
|
+
* @returns {React.Node} The rendered FrontPanelNumberDisplay component
|
24
|
+
*
|
25
|
+
* @example
|
26
|
+
* ```jsx
|
27
|
+
* <FrontPanelNumberEntry
|
28
|
+
* fpEndpoint={{epAddress: 0x00, bitOffset: 1}}
|
29
|
+
* maximumValue=0xffffffff />
|
30
|
+
* ```
|
31
|
+
*/
|
32
|
+
declare const FrontPanelNumberEntry: React.ForwardRefExoticComponent<FrontPanelNumberEntryCombinedProps & React.RefAttributes<HTMLDivElement>>;
|
33
|
+
export default FrontPanelNumberEntry;
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
import { EndpointAddressProps } from "../types";
|
8
|
+
/**
|
9
|
+
* Interface for the properties of the `FrontPanelNumberEntry` component.
|
10
|
+
*
|
11
|
+
* @interface
|
12
|
+
*/
|
13
|
+
interface FrontPanelNumberEntryProps {
|
14
|
+
/**
|
15
|
+
* Address of the frontpanel endpoint
|
16
|
+
*/
|
17
|
+
fpEndpoint: EndpointAddressProps;
|
18
|
+
/**
|
19
|
+
* Maximum value that the number entry will allow.
|
20
|
+
*/
|
21
|
+
maximumValue: bigint;
|
22
|
+
/**
|
23
|
+
* Optional minimum value that the number entry will allow.
|
24
|
+
*/
|
25
|
+
minimumValue?: bigint;
|
26
|
+
}
|
27
|
+
export default FrontPanelNumberEntryProps;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
export { default } from "./FrontPanelNumberEntry";
|
8
|
+
export { default as FrontPanelNumberEntryProps } from "./FrontPanelNumberEntry.props";
|
@@ -0,0 +1,31 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
import React from "react";
|
8
|
+
import { Button } from "../../primitives";
|
9
|
+
import FrontPanelPushButtonProps from "./FrontPanelPushButton.props";
|
10
|
+
interface FrontPanelPushButtonCombinedProps extends Omit<React.ComponentPropsWithoutRef<typeof Button>, "asChild" | "onButtonClick" | "onButtonDown" | "onButtonUp">, FrontPanelPushButtonProps {
|
11
|
+
}
|
12
|
+
export type { FrontPanelPushButtonCombinedProps };
|
13
|
+
/**
|
14
|
+
* `FrontPanelPushButton` is a React component that renders a push button that asserts a WireIn endpoint
|
15
|
+
* when pressed and deasserts it when released.
|
16
|
+
*
|
17
|
+
* @component
|
18
|
+
* @param {object} props - Properties passed to component
|
19
|
+
* @param {React.Ref} forwardedRef - Forwarded ref for the button
|
20
|
+
*
|
21
|
+
* @returns {React.Node} The rendered FrontPanelPushButton component
|
22
|
+
*
|
23
|
+
* @example
|
24
|
+
* ```jsx
|
25
|
+
* <FrontPanelPushButton
|
26
|
+
* label="Pushbutton"
|
27
|
+
* fpEndpoint={{epAddress: 0x00, bitOffset: 1}} />
|
28
|
+
* ```
|
29
|
+
*/
|
30
|
+
declare const FrontPanelPushButton: React.ForwardRefExoticComponent<FrontPanelPushButtonCombinedProps & React.RefAttributes<HTMLButtonElement>>;
|
31
|
+
export default FrontPanelPushButton;
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
import { EndpointAddressProps } from "../types";
|
8
|
+
/**
|
9
|
+
* Interface for the properties of the `FrontPanelToggleButton` component.
|
10
|
+
*/
|
11
|
+
interface FrontPanelPushButtonProps {
|
12
|
+
/**
|
13
|
+
* Address of the frontpanel endpoint
|
14
|
+
*/
|
15
|
+
fpEndpoint: EndpointAddressProps;
|
16
|
+
}
|
17
|
+
export default FrontPanelPushButtonProps;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
export { default } from "./FrontPanelPushButton";
|
8
|
+
export { default as FrontPanelPushButtonProps } from "./FrontPanelPushButton.props";
|
@@ -0,0 +1,31 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
import React from "react";
|
8
|
+
import { RangeSlider } from "../../primitives";
|
9
|
+
import FrontPanelRangeSliderProps from "./FrontPanelRangeSlider.props";
|
10
|
+
interface FrontPanelRangeSliderCombinedProps extends Omit<React.ComponentPropsWithoutRef<typeof RangeSlider>, "defaultValue" | "value" | "maximumValue" | "onValueChange" | "onValueCommit">, FrontPanelRangeSliderProps {
|
11
|
+
}
|
12
|
+
export type { FrontPanelRangeSliderCombinedProps };
|
13
|
+
/**
|
14
|
+
* `FrontPanelRangeSlider` is a React component that renders a range slider to allow setting the value of a WireIn endpoint
|
15
|
+
* within a specified range of values by clicking and dragging the slider thumb or by using the arrow keys.
|
16
|
+
*
|
17
|
+
* @component
|
18
|
+
* @param {object} props - Properties passed to component
|
19
|
+
* @param {React.Ref} forwardedRef - Forwarded ref for the range slider
|
20
|
+
*
|
21
|
+
* @returns {React.Node} The rendered FrontPanelRangeSlider component
|
22
|
+
*
|
23
|
+
* @example
|
24
|
+
* ```jsx
|
25
|
+
* <FrontPanelRangeSlider
|
26
|
+
* fpEndpoint={{epAddress: 0x00, bitOffset: 1}}
|
27
|
+
* maximumValue=0xff />
|
28
|
+
* ```
|
29
|
+
*/
|
30
|
+
declare const FrontPanelRangeSlider: React.ForwardRefExoticComponent<FrontPanelRangeSliderCombinedProps & React.RefAttributes<HTMLSpanElement>>;
|
31
|
+
export default FrontPanelRangeSlider;
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
import { EndpointAddressProps } from "../types";
|
8
|
+
/**
|
9
|
+
* Interface for the properties of the `FrontPanelRangeSlider` component.
|
10
|
+
*/
|
11
|
+
interface FrontPanelRangeSliderProps {
|
12
|
+
/**
|
13
|
+
* Address of the frontpanel endpoint
|
14
|
+
*/
|
15
|
+
fpEndpoint: EndpointAddressProps;
|
16
|
+
/**
|
17
|
+
* Maximum value that the range slider will allow
|
18
|
+
*/
|
19
|
+
maximumValue: number;
|
20
|
+
}
|
21
|
+
export default FrontPanelRangeSliderProps;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
export { default } from "./FrontPanelRangeSlider";
|
8
|
+
export { default as FrontPanelRangeSliderProps } from "./FrontPanelRangeSlider.props";
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 Opal Kelly Incorporated
|
3
|
+
*
|
4
|
+
* This source code is licensed under the FrontPanel license.
|
5
|
+
* See the LICENSE file found in the root directory of this project.
|
6
|
+
*/
|
7
|
+
/// <reference types="react" />
|
8
|
+
declare const FrontPanelSelectEntry: {
|
9
|
+
Root: import("react").FC<import("./FrontPanelSelectEntryRoot").FrontPanelSelectEntryRootCombinedProps>;
|
10
|
+
Trigger: import("react").ForwardRefExoticComponent<import("../../primitives/SelectEntry/SelectEntryTrigger").SelectEntryTriggerCombinedProps & import("react").RefAttributes<HTMLButtonElement>>;
|
11
|
+
Content: import("react").ForwardRefExoticComponent<import("../../primitives/SelectEntry/SelectEntryContent").SelectContentCombinedProps & import("react").RefAttributes<HTMLDivElement>>;
|
12
|
+
Item: import("react").ForwardRefExoticComponent<import("../../primitives/SelectEntry/SelectEntryItem").SelectEntryItemCombinedProps & import("react").RefAttributes<HTMLDivElement>>;
|
13
|
+
Group: import("react").ForwardRefExoticComponent<import("../../primitives/SelectEntry/SelectEntryGroup").SelectEntryGroupCombinedProps & import("react").RefAttributes<HTMLDivElement>>;
|
14
|
+
Label: import("react").ForwardRefExoticComponent<import("../../primitives/SelectEntry/SelectEntryLabel").SelectEntryLabelCombinedProps & import("react").RefAttributes<HTMLDivElement>>;
|
15
|
+
Separator: import("react").ForwardRefExoticComponent<import("../../primitives/SelectEntry/SelectEntrySeparator").SelectEntrySeparatorCombinedProps & import("react").RefAttributes<HTMLDivElement>>;
|
16
|
+
};
|
17
|
+
export default FrontPanelSelectEntry;
|