@opalkelly/frontpanel-react-components 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 @@
|
|
|
1
|
+
export { default } from "./Application";
|
|
@@ -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 ButtonProps from "./Button.props";
|
|
9
|
+
import "../../index.css";
|
|
10
|
+
import "./Button.css";
|
|
11
|
+
interface ButtonCombinedProps extends React.ComponentPropsWithoutRef<"button">, ButtonProps {
|
|
12
|
+
}
|
|
13
|
+
export type { ButtonCombinedProps };
|
|
14
|
+
/**
|
|
15
|
+
* `Button` is a React component that renders a button with an optional label and optional tooltip.
|
|
16
|
+
* The button event handlers provide notification when the button is clicked, pressed, or released
|
|
17
|
+
* and can be used to perform actions in response to these events.
|
|
18
|
+
*
|
|
19
|
+
* @component
|
|
20
|
+
* @param {object} props - Properties passed to component
|
|
21
|
+
* @param {React.Ref} forwardedRef - Forwarded ref for the button
|
|
22
|
+
*
|
|
23
|
+
* @returns {React.Node} The rendered Button component
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```jsx
|
|
27
|
+
* <Button
|
|
28
|
+
* label="Button"
|
|
29
|
+
* onButtonClick={() => console.log("Button clicked")} />
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonCombinedProps & React.RefAttributes<HTMLButtonElement>>;
|
|
33
|
+
export default Button;
|
|
@@ -0,0 +1,44 @@
|
|
|
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 type ButtonSize = 1 | 2 | 3;
|
|
8
|
+
export type ButtonStateChangeEventHandler = () => void;
|
|
9
|
+
export type ButtonClickEventHandler = () => void;
|
|
10
|
+
/**
|
|
11
|
+
* Interface for the properties of the `Button` component.
|
|
12
|
+
*/
|
|
13
|
+
interface ButtonProps {
|
|
14
|
+
/**
|
|
15
|
+
* Label text to be displayed in the button
|
|
16
|
+
*/
|
|
17
|
+
label: string;
|
|
18
|
+
/**
|
|
19
|
+
* Optional CSS class to apply to the button
|
|
20
|
+
*/
|
|
21
|
+
className?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Optional size of the button
|
|
24
|
+
* @default 1
|
|
25
|
+
*/
|
|
26
|
+
size?: ButtonSize;
|
|
27
|
+
/**
|
|
28
|
+
* Optional tooltip text to be displayed on hover
|
|
29
|
+
*/
|
|
30
|
+
tooltip?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Optional event handler for the button down event
|
|
33
|
+
*/
|
|
34
|
+
onButtonDown?: ButtonStateChangeEventHandler;
|
|
35
|
+
/**
|
|
36
|
+
* Optional event handler for the button up event
|
|
37
|
+
*/
|
|
38
|
+
onButtonUp?: ButtonStateChangeEventHandler;
|
|
39
|
+
/**
|
|
40
|
+
* Optional event handler for the button click event
|
|
41
|
+
*/
|
|
42
|
+
onButtonClick?: ButtonClickEventHandler;
|
|
43
|
+
}
|
|
44
|
+
export default ButtonProps;
|
|
@@ -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 DigitEntryProps from "./DigitEntry.props";
|
|
9
|
+
import "../../index.css";
|
|
10
|
+
import "./DigitEntry.css";
|
|
11
|
+
/**
|
|
12
|
+
* `DigitEntry` is a React component that renders a digit entry field to allow setting the value of the digit represented
|
|
13
|
+
* in binary, octal, decimal, or hexadecimal number systems. The value of the digit can be entered by key or the current
|
|
14
|
+
* value can be incremented or decremented using the up and down arrow keys and or the mouse wheel. A maximum and minimum
|
|
15
|
+
* value can be specified to limit the range of values that the digit entry field can have. Indicators are displayed to
|
|
16
|
+
* show when the value can be incremented or decremented based on the maximum and minimum values.
|
|
17
|
+
*
|
|
18
|
+
* @component
|
|
19
|
+
* @param {Object} props - Properties passed to component
|
|
20
|
+
* @param {React.Ref<DigitEntryElement>} forwardedRef - Forwarded ref for the number display
|
|
21
|
+
*
|
|
22
|
+
* @returns {React.ReactElement} The rendered DigitEntry component
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```jsx
|
|
26
|
+
* <DigitEntry
|
|
27
|
+
* value={0}
|
|
28
|
+
* maximum={5}
|
|
29
|
+
* minimum={2} />
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
declare const DigitEntry: React.FC<DigitEntryProps>;
|
|
33
|
+
export default DigitEntry;
|
|
@@ -0,0 +1,51 @@
|
|
|
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 { NumeralSystem } from "../../core";
|
|
8
|
+
export type DigitEntryVariant = "standard" | "compact";
|
|
9
|
+
export type DigitEntrySize = 1 | 2 | 3;
|
|
10
|
+
export type DigitEntryValueChangeEventHandler = (value: number, isKeyDown: boolean) => void;
|
|
11
|
+
/**
|
|
12
|
+
* Interface for the properties of the `DigitEntry` component.
|
|
13
|
+
*/
|
|
14
|
+
interface DigitEntryProps {
|
|
15
|
+
/**
|
|
16
|
+
* The current value of the digit entry
|
|
17
|
+
*/
|
|
18
|
+
value: number;
|
|
19
|
+
/**
|
|
20
|
+
* Optional CSS class to apply to the digit entry
|
|
21
|
+
*/
|
|
22
|
+
className?: string;
|
|
23
|
+
/**
|
|
24
|
+
* The maximum value that the digit entry can have
|
|
25
|
+
*/
|
|
26
|
+
maximum?: number;
|
|
27
|
+
/**
|
|
28
|
+
* The minimum value that the digit entry can have
|
|
29
|
+
*/
|
|
30
|
+
minimum?: number;
|
|
31
|
+
/**
|
|
32
|
+
* The numeral system for the digit entry
|
|
33
|
+
* @default Decimal
|
|
34
|
+
*/
|
|
35
|
+
numeralSystem?: NumeralSystem;
|
|
36
|
+
/**
|
|
37
|
+
* Size of the digit entry
|
|
38
|
+
* @default 1
|
|
39
|
+
*/
|
|
40
|
+
size?: DigitEntrySize;
|
|
41
|
+
/**
|
|
42
|
+
* Variant of the digit entry
|
|
43
|
+
* @default standard
|
|
44
|
+
*/
|
|
45
|
+
variant?: DigitEntryVariant;
|
|
46
|
+
/**
|
|
47
|
+
* Optional event handler for the value changed event
|
|
48
|
+
*/
|
|
49
|
+
onValueChanged?: DigitEntryValueChangeEventHandler;
|
|
50
|
+
}
|
|
51
|
+
export default DigitEntryProps;
|
|
@@ -0,0 +1,9 @@
|
|
|
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 "./DigitEntry";
|
|
8
|
+
export { default as DigitEntryProps } from "./DigitEntry.props";
|
|
9
|
+
export { DigitEntryVariant, DigitEntrySize, DigitEntryValueChangeEventHandler } from "./DigitEntry.props";
|
|
@@ -0,0 +1,29 @@
|
|
|
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 IndicatorProps from "./Indicator.props";
|
|
9
|
+
import "../../index.css";
|
|
10
|
+
import "./Indicator.css";
|
|
11
|
+
/**
|
|
12
|
+
* `Indicator` is a React component that renders an indicator that represents the state of a boolean value with an
|
|
13
|
+
* optional tooltip.
|
|
14
|
+
*
|
|
15
|
+
* @component
|
|
16
|
+
* @param {object} props - Properties passed to component
|
|
17
|
+
* @param {React.Ref} forwardedRef - Forwarded ref for the indicator
|
|
18
|
+
*
|
|
19
|
+
* @returns {React.Node} The rendered Indicator component
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```jsx
|
|
23
|
+
* <Indicator
|
|
24
|
+
* label="Indicator"
|
|
25
|
+
* state={true} />
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
declare const Indicator: React.ForwardRefExoticComponent<IndicatorProps & React.RefAttributes<HTMLSpanElement>>;
|
|
29
|
+
export default Indicator;
|
|
@@ -0,0 +1,35 @@
|
|
|
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 type IndicatorSize = 1 | 2 | 3;
|
|
8
|
+
export type IndicatorState = boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Interface for the properties of the `Indicator` component.
|
|
11
|
+
*/
|
|
12
|
+
interface IndicatorProps {
|
|
13
|
+
/**
|
|
14
|
+
* Label to be displayed on the indicator
|
|
15
|
+
*/
|
|
16
|
+
label: string;
|
|
17
|
+
/**
|
|
18
|
+
* Current state of the indicator
|
|
19
|
+
*/
|
|
20
|
+
state: IndicatorState;
|
|
21
|
+
/**
|
|
22
|
+
* Optional CSS class to apply to the indicator
|
|
23
|
+
*/
|
|
24
|
+
className?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Optional size of the indicator
|
|
27
|
+
* @default 1
|
|
28
|
+
*/
|
|
29
|
+
size?: IndicatorSize;
|
|
30
|
+
/**
|
|
31
|
+
* Optional tooltip text to be displayed on hover
|
|
32
|
+
*/
|
|
33
|
+
tooltip?: string;
|
|
34
|
+
}
|
|
35
|
+
export default IndicatorProps;
|
|
@@ -0,0 +1,9 @@
|
|
|
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 "./Indicator";
|
|
8
|
+
export { default as IndicatorProps } from "./Indicator.props";
|
|
9
|
+
export { IndicatorSize, IndicatorState } from "./Indicator.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 LabelProps from "./Label.props";
|
|
9
|
+
import "../../index.css";
|
|
10
|
+
import "./Label.css";
|
|
11
|
+
/**
|
|
12
|
+
* `Label` is a React component that renders a label with optional positioning.
|
|
13
|
+
*
|
|
14
|
+
* @component
|
|
15
|
+
* @param {object} props - Properties passed to component
|
|
16
|
+
* @param {React.Ref} forwardedRef - Forwarded ref for the indicator
|
|
17
|
+
*
|
|
18
|
+
* @returns {ReactNode} The rendered Label component
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```jsx
|
|
22
|
+
* <Label
|
|
23
|
+
* text="Label"
|
|
24
|
+
* horizontalPosition="left"
|
|
25
|
+
* verticalPosition="top">
|
|
26
|
+
* <input type="text" />
|
|
27
|
+
* </Label>
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
declare const Label: React.ForwardRefExoticComponent<LabelProps & React.RefAttributes<HTMLDivElement>>;
|
|
31
|
+
export default Label;
|
|
@@ -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
|
+
/// <reference types="react" />
|
|
8
|
+
export type LabelVerticalPosition = "top" | "bottom";
|
|
9
|
+
export type LabelHorizontalPosition = "left" | "right";
|
|
10
|
+
/**
|
|
11
|
+
* Interface for the properties of the `Label` component.
|
|
12
|
+
*/
|
|
13
|
+
interface LabelProps extends React.PropsWithChildren<NonNullable<unknown>> {
|
|
14
|
+
/**
|
|
15
|
+
* Text to be displayed on the label
|
|
16
|
+
*/
|
|
17
|
+
text: string;
|
|
18
|
+
/**
|
|
19
|
+
* Optional CSS class to apply to the label
|
|
20
|
+
*/
|
|
21
|
+
className?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Optional horizontal position of the label, defined in LabelHorizontalPosition
|
|
24
|
+
* @default "left"
|
|
25
|
+
*/
|
|
26
|
+
horizontalPosition?: LabelHorizontalPosition;
|
|
27
|
+
/**
|
|
28
|
+
* Optional vertical position of the label, defined in LabelVerticalPosition
|
|
29
|
+
* @default "top"
|
|
30
|
+
*/
|
|
31
|
+
verticalPosition?: LabelVerticalPosition;
|
|
32
|
+
}
|
|
33
|
+
export default LabelProps;
|
|
@@ -0,0 +1,9 @@
|
|
|
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 "./Label";
|
|
8
|
+
export { default as LabelProps } from "./Label.props";
|
|
9
|
+
export { LabelHorizontalPosition, LabelVerticalPosition } from "./Label.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 NumberDisplayProps from "./NumberDisplay.props";
|
|
9
|
+
import "../../index.css";
|
|
10
|
+
import "./NumberDisplay.css";
|
|
11
|
+
/**
|
|
12
|
+
* `NumberDisplay` is a React component that renders a number represented in binary, octal,
|
|
13
|
+
* decimal, or hexadecimal numeral systems with optional tooltip. It also allows to
|
|
14
|
+
* optionally set the decimal scale of the number when using the decimal numeral system.
|
|
15
|
+
*
|
|
16
|
+
* @component
|
|
17
|
+
* @param {object} props - Properties passed to component
|
|
18
|
+
* @param {React.Ref} forwardedRef - Forwarded ref for the NumberDisplay
|
|
19
|
+
* @returns {React.Node} The rendered NumberDisplay component
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```jsx
|
|
23
|
+
* <NumberDisplay
|
|
24
|
+
* label="Number Display"
|
|
25
|
+
* value={23456}
|
|
26
|
+
* maximumValue={65535}
|
|
27
|
+
* minimumValue={0} />
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
declare const NumberDisplay: React.ForwardRefExoticComponent<NumberDisplayProps & React.RefAttributes<HTMLDivElement>>;
|
|
31
|
+
export default NumberDisplay;
|
|
@@ -0,0 +1,52 @@
|
|
|
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 { NumeralSystem } from "../../core";
|
|
8
|
+
import { LabelProps } from "../Label";
|
|
9
|
+
export type NumberDisplaySize = 1 | 2 | 3;
|
|
10
|
+
/**
|
|
11
|
+
* Interface for the properties of the `NumberDisplay` component.
|
|
12
|
+
*/
|
|
13
|
+
interface NumberDisplayProps {
|
|
14
|
+
/**
|
|
15
|
+
* Current value to be displayed
|
|
16
|
+
*/
|
|
17
|
+
value: bigint;
|
|
18
|
+
/**
|
|
19
|
+
* Maximum value that can be displayed
|
|
20
|
+
*/
|
|
21
|
+
maximumValue: bigint;
|
|
22
|
+
/**
|
|
23
|
+
* Minimum value that can be displayed
|
|
24
|
+
*/
|
|
25
|
+
minimumValue: bigint;
|
|
26
|
+
/**
|
|
27
|
+
* Optional CSS class to apply to the number display
|
|
28
|
+
*/
|
|
29
|
+
className?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Optional label properties for the number display
|
|
32
|
+
*/
|
|
33
|
+
label?: LabelProps;
|
|
34
|
+
/**
|
|
35
|
+
* Optional size of the number display
|
|
36
|
+
* @default 1
|
|
37
|
+
*/
|
|
38
|
+
size?: NumberDisplaySize;
|
|
39
|
+
/**
|
|
40
|
+
* Optional tooltip text to be displayed on hover
|
|
41
|
+
*/
|
|
42
|
+
tooltip?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Optional numeral system to be used for the number display, defined in NumeralSystem
|
|
45
|
+
*/
|
|
46
|
+
numeralSystem?: NumeralSystem;
|
|
47
|
+
/**
|
|
48
|
+
* Optional decimal scale for the number entry (Only used when numeral system is NumeralSystem.Decimal)
|
|
49
|
+
*/
|
|
50
|
+
decimalScale?: number;
|
|
51
|
+
}
|
|
52
|
+
export default NumberDisplayProps;
|
|
@@ -0,0 +1,9 @@
|
|
|
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 "./NumberDisplay";
|
|
8
|
+
export { default as NumberDisplayProps } from "./NumberDisplay.props";
|
|
9
|
+
export { NumberDisplaySize } from "./NumberDisplay.props";
|
|
@@ -0,0 +1,34 @@
|
|
|
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 NumberEntryProps from "./NumberEntry.props";
|
|
9
|
+
import "../../index.css";
|
|
10
|
+
import "./NumberEntry.css";
|
|
11
|
+
/**
|
|
12
|
+
* `NumberEntry` is a React component that renders a number entry field to allow setting the value of a number
|
|
13
|
+
* represented in binary, octal, decimal, or hexadecimal numeral systems. The values of the individual digits of
|
|
14
|
+
* the number can be entered by key or they can incremented and decremented using the up and down arrow keys and or
|
|
15
|
+
* the mouse wheel. The maximum and minimum values of the number can be specified to limit the range of values that
|
|
16
|
+
* that can be set. Each individual digit shows an indicator to show if the value of that digit can be incremented
|
|
17
|
+
* or decremented based on the maximum and minimum values.
|
|
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 NumberEntry component.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```jsx
|
|
27
|
+
* <NumberEntry
|
|
28
|
+
* value={0}
|
|
29
|
+
* maximumValue={65535}
|
|
30
|
+
* minimumValue={0} />
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
declare const NumberEntry: React.ForwardRefExoticComponent<NumberEntryProps & React.RefAttributes<HTMLDivElement>>;
|
|
34
|
+
export default NumberEntry;
|
|
@@ -0,0 +1,69 @@
|
|
|
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 { NumeralSystem } from "../../core";
|
|
8
|
+
import { LabelProps } from "../Label";
|
|
9
|
+
import { DigitEntryVariant } from "../DigitEntry";
|
|
10
|
+
export type NumberEntrySize = 1 | 2 | 3;
|
|
11
|
+
export type NumberEntryValueChangeEventHandler = (value: bigint) => void;
|
|
12
|
+
/**
|
|
13
|
+
* Interface for the properties of the `NumberEntry` component.
|
|
14
|
+
*/
|
|
15
|
+
interface NumberEntryProps {
|
|
16
|
+
/**
|
|
17
|
+
* Current value of the number entry
|
|
18
|
+
*/
|
|
19
|
+
value: bigint;
|
|
20
|
+
/**
|
|
21
|
+
* Maximum value that can be entered
|
|
22
|
+
*/
|
|
23
|
+
maximumValue: bigint;
|
|
24
|
+
/**
|
|
25
|
+
* Minimum value that can be entered
|
|
26
|
+
*/
|
|
27
|
+
minimumValue: bigint;
|
|
28
|
+
/**
|
|
29
|
+
* Optional CSS class to apply to the number entry
|
|
30
|
+
*/
|
|
31
|
+
className?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Optional decimal scale for the number entry (Only used when numeral system is NumeralSystem.Decimal)
|
|
34
|
+
*/
|
|
35
|
+
decimalScale?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Optional disable the number entry
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
40
|
+
disabled?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Optional label properties for the number entry
|
|
43
|
+
*/
|
|
44
|
+
label?: LabelProps;
|
|
45
|
+
/**
|
|
46
|
+
* Optional numeral system to be used for the number entry, defined in NumeralSystem
|
|
47
|
+
* @default Decimal
|
|
48
|
+
*/
|
|
49
|
+
numeralSystem?: NumeralSystem;
|
|
50
|
+
/**
|
|
51
|
+
* Optional Size of the number entry
|
|
52
|
+
* @default 1
|
|
53
|
+
*/
|
|
54
|
+
size?: NumberEntrySize;
|
|
55
|
+
/**
|
|
56
|
+
* Optional tooltip text to be displayed on hover
|
|
57
|
+
*/
|
|
58
|
+
tooltip?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Optional variant of the digit entry
|
|
61
|
+
* @default standard
|
|
62
|
+
*/
|
|
63
|
+
variant?: DigitEntryVariant;
|
|
64
|
+
/**
|
|
65
|
+
* Optional event handler for the value changed event
|
|
66
|
+
*/
|
|
67
|
+
onValueChange?: NumberEntryValueChangeEventHandler;
|
|
68
|
+
}
|
|
69
|
+
export default NumberEntryProps;
|
|
@@ -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 React from "react";
|
|
8
|
+
import NumberEntryDigitsProps from "./NumberEntryDigits.props";
|
|
9
|
+
import "../../index.css";
|
|
10
|
+
import "./NumberEntry.css";
|
|
11
|
+
/**
|
|
12
|
+
* `NumberEntryDigits` is a React component that renders a list of `DigitEntry` components.
|
|
13
|
+
* Each `DigitEntry` represents a digit in a number entry field.
|
|
14
|
+
* The digits are displayed in the specified numeral system and can be incremented and decremented.
|
|
15
|
+
*
|
|
16
|
+
* @component
|
|
17
|
+
* @param {Object} props - The properties that define the `NumberEntryDigits` component.
|
|
18
|
+
* @param {number} props.size - The size of the digits in the number entry field. Default is 1.
|
|
19
|
+
* @param {number} props.numeralSystem - The numeral system to use for displaying the digits.
|
|
20
|
+
* @param {number} props.decimalScale - The scale of the decimal part of the number entry field. Default is 0.
|
|
21
|
+
* @param {Array} props.digitStates - An array of objects that represent the state of each digit in the number entry field.
|
|
22
|
+
* @param {function} props.onDigitStatesChange - Function to be called when the state of any digit in the number entry field changes.
|
|
23
|
+
*
|
|
24
|
+
* @returns {React.ReactElement} The `NumberEntryDigits` component.
|
|
25
|
+
*/
|
|
26
|
+
declare const NumberEntryDigits: React.FC<NumberEntryDigitsProps>;
|
|
27
|
+
export default NumberEntryDigits;
|
|
@@ -0,0 +1,43 @@
|
|
|
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 { NumeralSystem } from "../../core";
|
|
8
|
+
import { DigitEntryVariant } from "../DigitEntry";
|
|
9
|
+
export type DigitEntrySize = 1 | 2 | 3;
|
|
10
|
+
export type DigitEntryStatesChangeEventHandler = (digitStates: readonly DigitEntryState[], isKeyDown: boolean) => void;
|
|
11
|
+
export type DigitEntryState = {
|
|
12
|
+
id: number;
|
|
13
|
+
value: number;
|
|
14
|
+
maximum?: number;
|
|
15
|
+
minimum?: number;
|
|
16
|
+
};
|
|
17
|
+
interface NumberEntryDigitsProps {
|
|
18
|
+
/**
|
|
19
|
+
* Variant of the digit entry
|
|
20
|
+
*/
|
|
21
|
+
variant?: DigitEntryVariant;
|
|
22
|
+
/**
|
|
23
|
+
* Size of the digit entry
|
|
24
|
+
*/
|
|
25
|
+
size: DigitEntrySize;
|
|
26
|
+
/**
|
|
27
|
+
* Numeral system to be used for the number entry, defined in NumeralSystem enum
|
|
28
|
+
*/
|
|
29
|
+
numeralSystem: NumeralSystem;
|
|
30
|
+
/**
|
|
31
|
+
* Current value of the number entry
|
|
32
|
+
*/
|
|
33
|
+
digitStates: DigitEntryState[];
|
|
34
|
+
/**
|
|
35
|
+
* Optional decimal scale for the number entry (Only used when numeral system is NumeralSystem.Decimal)
|
|
36
|
+
*/
|
|
37
|
+
decimalScale?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Event handler for the number entries state change event
|
|
40
|
+
*/
|
|
41
|
+
onDigitStatesChange?: DigitEntryStatesChangeEventHandler;
|
|
42
|
+
}
|
|
43
|
+
export default NumberEntryDigitsProps;
|
|
@@ -0,0 +1,9 @@
|
|
|
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 "./NumberEntry";
|
|
8
|
+
export { default as NumberEntryProps } from "./NumberEntry.props";
|
|
9
|
+
export { NumberEntrySize, NumberEntryValueChangeEventHandler } from "./NumberEntry.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 RangeSliderProps from "./RangeSlider.props";
|
|
9
|
+
import "../../index.css";
|
|
10
|
+
import "./RangeSlider.css";
|
|
11
|
+
/**
|
|
12
|
+
* `RangeSlider` is a React component that renders a range slider to allow setting a value within a specified
|
|
13
|
+
* range by clicking and dragging the slider thumb or by using the arrow keys. The slider can optionally show
|
|
14
|
+
* a label and/or a tooltip.
|
|
15
|
+
*
|
|
16
|
+
* @component
|
|
17
|
+
* @param {object} props - Properties passed to component
|
|
18
|
+
* @param {React.Ref} forwardedRef - Forwarded ref for the range slider
|
|
19
|
+
*
|
|
20
|
+
* @returns {React.Node} The rendered RangeSlider component
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```jsx
|
|
24
|
+
* <RangeSlider
|
|
25
|
+
* defaultValue={50}
|
|
26
|
+
* maximumValue={100}
|
|
27
|
+
* minimumValue={0}
|
|
28
|
+
* valueStep={1}
|
|
29
|
+
* onValueChange={(value) => console.log(value)} />
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
declare const RangeSlider: React.ForwardRefExoticComponent<RangeSliderProps & React.RefAttributes<HTMLSpanElement>>;
|
|
33
|
+
export default RangeSlider;
|