@opalkelly/frontpanel-react-components 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (334) hide show
  1. package/LICENSE +45 -0
  2. package/README.md +26 -0
  3. package/dist/cjs/index.js +2 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/types/components/FrontPanel/FrontPanel.d.ts +10 -0
  6. package/dist/cjs/types/components/FrontPanel/FrontPanel.props.d.ts +23 -0
  7. package/dist/cjs/types/components/FrontPanel/index.d.ts +7 -0
  8. package/dist/cjs/types/components/FrontPanelIndicator/FrontPanelIndicator.d.ts +30 -0
  9. package/dist/cjs/types/components/FrontPanelIndicator/FrontPanelIndicator.props.d.ts +17 -0
  10. package/dist/cjs/types/components/FrontPanelIndicator/index.d.ts +8 -0
  11. package/dist/cjs/types/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.d.ts +33 -0
  12. package/dist/cjs/types/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.props.d.ts +23 -0
  13. package/dist/cjs/types/components/FrontPanelNumberDisplay/index.d.ts +8 -0
  14. package/dist/cjs/types/components/FrontPanelNumberEntry/FrontPanelNumberEntry.d.ts +33 -0
  15. package/dist/cjs/types/components/FrontPanelNumberEntry/FrontPanelNumberEntry.props.d.ts +27 -0
  16. package/dist/cjs/types/components/FrontPanelNumberEntry/index.d.ts +8 -0
  17. package/dist/cjs/types/components/FrontPanelPushButton/FrontPanelPushButton.d.ts +31 -0
  18. package/dist/cjs/types/components/FrontPanelPushButton/FrontPanelPushButton.props.d.ts +17 -0
  19. package/dist/cjs/types/components/FrontPanelPushButton/index.d.ts +8 -0
  20. package/dist/cjs/types/components/FrontPanelRangeSlider/FrontPanelRangeSlider.d.ts +31 -0
  21. package/dist/cjs/types/components/FrontPanelRangeSlider/FrontPanelRangeSlider.props.d.ts +21 -0
  22. package/dist/cjs/types/components/FrontPanelRangeSlider/index.d.ts +8 -0
  23. package/dist/cjs/types/components/FrontPanelSelectEntry/FrontPanelSelectEntry.d.ts +17 -0
  24. package/dist/cjs/types/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.d.ts +43 -0
  25. package/dist/cjs/types/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.props.d.ts +21 -0
  26. package/dist/cjs/types/components/FrontPanelSelectEntry/index.d.ts +15 -0
  27. package/dist/cjs/types/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.d.ts +31 -0
  28. package/dist/cjs/types/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.props.d.ts +17 -0
  29. package/dist/cjs/types/components/FrontPanelToggleSwitch/index.d.ts +8 -0
  30. package/dist/cjs/types/components/FrontPanelTriggerButton/FrontPanelTriggerButton.d.ts +32 -0
  31. package/dist/cjs/types/components/FrontPanelTriggerButton/FrontPanelTriggerButton.props.d.ts +18 -0
  32. package/dist/cjs/types/components/FrontPanelTriggerButton/index.d.ts +8 -0
  33. package/dist/cjs/types/components/Icons/ChevronIcon.d.ts +17 -0
  34. package/dist/cjs/types/components/Icons/IndicatorArrowIcon.d.ts +17 -0
  35. package/dist/cjs/types/components/Icons/IndicatorBarIcon.d.ts +10 -0
  36. package/dist/cjs/types/components/Icons/IndicatorStateIcon.d.ts +14 -0
  37. package/dist/cjs/types/components/Icons/RadioToggleStateIcon.d.ts +14 -0
  38. package/dist/cjs/types/components/Icons/SwitchToggleStateIcon.d.ts +14 -0
  39. package/dist/cjs/types/components/Icons/index.d.ts +12 -0
  40. package/dist/cjs/types/components/Icons/types.d.ts +17 -0
  41. package/dist/cjs/types/components/index.d.ts +16 -0
  42. package/dist/cjs/types/components/types.d.ts +11 -0
  43. package/dist/cjs/types/contexts/FrontPanelContext.d.ts +15 -0
  44. package/dist/cjs/types/contexts/index.d.ts +8 -0
  45. package/dist/cjs/types/core/Binary.d.ts +7 -0
  46. package/dist/cjs/types/core/Numeric.d.ts +80 -0
  47. package/dist/cjs/types/core/Types.d.ts +34 -0
  48. package/dist/cjs/types/core/index.d.ts +9 -0
  49. package/dist/cjs/types/index.d.ts +10 -0
  50. package/dist/cjs/types/primitives/Application/Application.d.ts +10 -0
  51. package/dist/cjs/types/primitives/Application/Application.props.d.ts +10 -0
  52. package/dist/cjs/types/primitives/Application/index.d.ts +1 -0
  53. package/dist/cjs/types/primitives/Button/Button.d.ts +33 -0
  54. package/dist/cjs/types/primitives/Button/Button.props.d.ts +44 -0
  55. package/dist/cjs/types/primitives/Button/index.d.ts +3 -0
  56. package/dist/cjs/types/primitives/DigitEntry/DigitEntry.d.ts +33 -0
  57. package/dist/cjs/types/primitives/DigitEntry/DigitEntry.props.d.ts +51 -0
  58. package/dist/cjs/types/primitives/DigitEntry/index.d.ts +9 -0
  59. package/dist/cjs/types/primitives/Indicator/Indicator.d.ts +29 -0
  60. package/dist/cjs/types/primitives/Indicator/Indicator.props.d.ts +35 -0
  61. package/dist/cjs/types/primitives/Indicator/index.d.ts +9 -0
  62. package/dist/cjs/types/primitives/Label/Label.d.ts +31 -0
  63. package/dist/cjs/types/primitives/Label/Label.props.d.ts +33 -0
  64. package/dist/cjs/types/primitives/Label/index.d.ts +9 -0
  65. package/dist/cjs/types/primitives/NumberDisplay/NumberDisplay.d.ts +31 -0
  66. package/dist/cjs/types/primitives/NumberDisplay/NumberDisplay.props.d.ts +52 -0
  67. package/dist/cjs/types/primitives/NumberDisplay/index.d.ts +9 -0
  68. package/dist/cjs/types/primitives/NumberEntry/NumberEntry.d.ts +34 -0
  69. package/dist/cjs/types/primitives/NumberEntry/NumberEntry.props.d.ts +69 -0
  70. package/dist/cjs/types/primitives/NumberEntry/NumberEntryDigits.d.ts +27 -0
  71. package/dist/cjs/types/primitives/NumberEntry/NumberEntryDigits.props.d.ts +43 -0
  72. package/dist/cjs/types/primitives/NumberEntry/index.d.ts +9 -0
  73. package/dist/cjs/types/primitives/RangeSlider/RangeSlider.d.ts +33 -0
  74. package/dist/cjs/types/primitives/RangeSlider/RangeSlider.props.d.ts +77 -0
  75. package/dist/cjs/types/primitives/RangeSlider/index.d.ts +9 -0
  76. package/dist/cjs/types/primitives/SelectEntry/SelectEntry.d.ts +17 -0
  77. package/dist/cjs/types/primitives/SelectEntry/SelectEntryContent.d.ts +16 -0
  78. package/dist/cjs/types/primitives/SelectEntry/SelectEntryGroup.d.ts +15 -0
  79. package/dist/cjs/types/primitives/SelectEntry/SelectEntryItem.d.ts +15 -0
  80. package/dist/cjs/types/primitives/SelectEntry/SelectEntryLabel.d.ts +15 -0
  81. package/dist/cjs/types/primitives/SelectEntry/SelectEntryRoot.d.ts +39 -0
  82. package/dist/cjs/types/primitives/SelectEntry/SelectEntryRoot.props.d.ts +31 -0
  83. package/dist/cjs/types/primitives/SelectEntry/SelectEntrySeparator.d.ts +15 -0
  84. package/dist/cjs/types/primitives/SelectEntry/SelectEntryTrigger.d.ts +16 -0
  85. package/dist/cjs/types/primitives/SelectEntry/SelectEntryTrigger.props.d.ts +16 -0
  86. package/dist/cjs/types/primitives/SelectEntry/index.d.ts +17 -0
  87. package/dist/cjs/types/primitives/Toggle/Toggle.d.ts +35 -0
  88. package/dist/cjs/types/primitives/Toggle/Toggle.props.d.ts +37 -0
  89. package/dist/cjs/types/primitives/Toggle/index.d.ts +9 -0
  90. package/dist/cjs/types/primitives/ToggleSwitch/ToggleSwitch.d.ts +32 -0
  91. package/dist/cjs/types/primitives/ToggleSwitch/ToggleSwitch.props.d.ts +22 -0
  92. package/dist/cjs/types/primitives/ToggleSwitch/index.d.ts +8 -0
  93. package/dist/cjs/types/primitives/Tooltip/Tooltip.d.ts +35 -0
  94. package/dist/cjs/types/primitives/Tooltip/Tooltip.props.d.ts +17 -0
  95. package/dist/cjs/types/primitives/Tooltip/index.d.ts +8 -0
  96. package/dist/cjs/types/primitives/TooltipUtility.d.ts +12 -0
  97. package/dist/cjs/types/primitives/index.d.ts +24 -0
  98. package/dist/esm/index.js +2 -0
  99. package/dist/esm/index.js.map +1 -0
  100. package/dist/esm/types/components/FrontPanel/FrontPanel.d.ts +10 -0
  101. package/dist/esm/types/components/FrontPanel/FrontPanel.props.d.ts +23 -0
  102. package/dist/esm/types/components/FrontPanel/index.d.ts +7 -0
  103. package/dist/esm/types/components/FrontPanelIndicator/FrontPanelIndicator.d.ts +30 -0
  104. package/dist/esm/types/components/FrontPanelIndicator/FrontPanelIndicator.props.d.ts +17 -0
  105. package/dist/esm/types/components/FrontPanelIndicator/index.d.ts +8 -0
  106. package/dist/esm/types/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.d.ts +33 -0
  107. package/dist/esm/types/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.props.d.ts +23 -0
  108. package/dist/esm/types/components/FrontPanelNumberDisplay/index.d.ts +8 -0
  109. package/dist/esm/types/components/FrontPanelNumberEntry/FrontPanelNumberEntry.d.ts +33 -0
  110. package/dist/esm/types/components/FrontPanelNumberEntry/FrontPanelNumberEntry.props.d.ts +27 -0
  111. package/dist/esm/types/components/FrontPanelNumberEntry/index.d.ts +8 -0
  112. package/dist/esm/types/components/FrontPanelPushButton/FrontPanelPushButton.d.ts +31 -0
  113. package/dist/esm/types/components/FrontPanelPushButton/FrontPanelPushButton.props.d.ts +17 -0
  114. package/dist/esm/types/components/FrontPanelPushButton/index.d.ts +8 -0
  115. package/dist/esm/types/components/FrontPanelRangeSlider/FrontPanelRangeSlider.d.ts +31 -0
  116. package/dist/esm/types/components/FrontPanelRangeSlider/FrontPanelRangeSlider.props.d.ts +21 -0
  117. package/dist/esm/types/components/FrontPanelRangeSlider/index.d.ts +8 -0
  118. package/dist/esm/types/components/FrontPanelSelectEntry/FrontPanelSelectEntry.d.ts +17 -0
  119. package/dist/esm/types/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.d.ts +43 -0
  120. package/dist/esm/types/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.props.d.ts +21 -0
  121. package/dist/esm/types/components/FrontPanelSelectEntry/index.d.ts +15 -0
  122. package/dist/esm/types/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.d.ts +31 -0
  123. package/dist/esm/types/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.props.d.ts +17 -0
  124. package/dist/esm/types/components/FrontPanelToggleSwitch/index.d.ts +8 -0
  125. package/dist/esm/types/components/FrontPanelTriggerButton/FrontPanelTriggerButton.d.ts +32 -0
  126. package/dist/esm/types/components/FrontPanelTriggerButton/FrontPanelTriggerButton.props.d.ts +18 -0
  127. package/dist/esm/types/components/FrontPanelTriggerButton/index.d.ts +8 -0
  128. package/dist/esm/types/components/Icons/ChevronIcon.d.ts +17 -0
  129. package/dist/esm/types/components/Icons/IndicatorArrowIcon.d.ts +17 -0
  130. package/dist/esm/types/components/Icons/IndicatorBarIcon.d.ts +10 -0
  131. package/dist/esm/types/components/Icons/IndicatorStateIcon.d.ts +14 -0
  132. package/dist/esm/types/components/Icons/RadioToggleStateIcon.d.ts +14 -0
  133. package/dist/esm/types/components/Icons/SwitchToggleStateIcon.d.ts +14 -0
  134. package/dist/esm/types/components/Icons/index.d.ts +12 -0
  135. package/dist/esm/types/components/Icons/types.d.ts +17 -0
  136. package/dist/esm/types/components/index.d.ts +16 -0
  137. package/dist/esm/types/components/types.d.ts +11 -0
  138. package/dist/esm/types/contexts/FrontPanelContext.d.ts +15 -0
  139. package/dist/esm/types/contexts/index.d.ts +8 -0
  140. package/dist/esm/types/core/Binary.d.ts +7 -0
  141. package/dist/esm/types/core/Numeric.d.ts +80 -0
  142. package/dist/esm/types/core/Types.d.ts +34 -0
  143. package/dist/esm/types/core/index.d.ts +9 -0
  144. package/dist/esm/types/index.d.ts +10 -0
  145. package/dist/esm/types/primitives/Application/Application.d.ts +10 -0
  146. package/dist/esm/types/primitives/Application/Application.props.d.ts +10 -0
  147. package/dist/esm/types/primitives/Application/index.d.ts +1 -0
  148. package/dist/esm/types/primitives/Button/Button.d.ts +33 -0
  149. package/dist/esm/types/primitives/Button/Button.props.d.ts +44 -0
  150. package/dist/esm/types/primitives/Button/index.d.ts +3 -0
  151. package/dist/esm/types/primitives/DigitEntry/DigitEntry.d.ts +33 -0
  152. package/dist/esm/types/primitives/DigitEntry/DigitEntry.props.d.ts +51 -0
  153. package/dist/esm/types/primitives/DigitEntry/index.d.ts +9 -0
  154. package/dist/esm/types/primitives/Indicator/Indicator.d.ts +29 -0
  155. package/dist/esm/types/primitives/Indicator/Indicator.props.d.ts +35 -0
  156. package/dist/esm/types/primitives/Indicator/index.d.ts +9 -0
  157. package/dist/esm/types/primitives/Label/Label.d.ts +31 -0
  158. package/dist/esm/types/primitives/Label/Label.props.d.ts +33 -0
  159. package/dist/esm/types/primitives/Label/index.d.ts +9 -0
  160. package/dist/esm/types/primitives/NumberDisplay/NumberDisplay.d.ts +31 -0
  161. package/dist/esm/types/primitives/NumberDisplay/NumberDisplay.props.d.ts +52 -0
  162. package/dist/esm/types/primitives/NumberDisplay/index.d.ts +9 -0
  163. package/dist/esm/types/primitives/NumberEntry/NumberEntry.d.ts +34 -0
  164. package/dist/esm/types/primitives/NumberEntry/NumberEntry.props.d.ts +69 -0
  165. package/dist/esm/types/primitives/NumberEntry/NumberEntryDigits.d.ts +27 -0
  166. package/dist/esm/types/primitives/NumberEntry/NumberEntryDigits.props.d.ts +43 -0
  167. package/dist/esm/types/primitives/NumberEntry/index.d.ts +9 -0
  168. package/dist/esm/types/primitives/RangeSlider/RangeSlider.d.ts +33 -0
  169. package/dist/esm/types/primitives/RangeSlider/RangeSlider.props.d.ts +77 -0
  170. package/dist/esm/types/primitives/RangeSlider/index.d.ts +9 -0
  171. package/dist/esm/types/primitives/SelectEntry/SelectEntry.d.ts +17 -0
  172. package/dist/esm/types/primitives/SelectEntry/SelectEntryContent.d.ts +16 -0
  173. package/dist/esm/types/primitives/SelectEntry/SelectEntryGroup.d.ts +15 -0
  174. package/dist/esm/types/primitives/SelectEntry/SelectEntryItem.d.ts +15 -0
  175. package/dist/esm/types/primitives/SelectEntry/SelectEntryLabel.d.ts +15 -0
  176. package/dist/esm/types/primitives/SelectEntry/SelectEntryRoot.d.ts +39 -0
  177. package/dist/esm/types/primitives/SelectEntry/SelectEntryRoot.props.d.ts +31 -0
  178. package/dist/esm/types/primitives/SelectEntry/SelectEntrySeparator.d.ts +15 -0
  179. package/dist/esm/types/primitives/SelectEntry/SelectEntryTrigger.d.ts +16 -0
  180. package/dist/esm/types/primitives/SelectEntry/SelectEntryTrigger.props.d.ts +16 -0
  181. package/dist/esm/types/primitives/SelectEntry/index.d.ts +17 -0
  182. package/dist/esm/types/primitives/Toggle/Toggle.d.ts +35 -0
  183. package/dist/esm/types/primitives/Toggle/Toggle.props.d.ts +37 -0
  184. package/dist/esm/types/primitives/Toggle/index.d.ts +9 -0
  185. package/dist/esm/types/primitives/ToggleSwitch/ToggleSwitch.d.ts +32 -0
  186. package/dist/esm/types/primitives/ToggleSwitch/ToggleSwitch.props.d.ts +22 -0
  187. package/dist/esm/types/primitives/ToggleSwitch/index.d.ts +8 -0
  188. package/dist/esm/types/primitives/Tooltip/Tooltip.d.ts +35 -0
  189. package/dist/esm/types/primitives/Tooltip/Tooltip.props.d.ts +17 -0
  190. package/dist/esm/types/primitives/Tooltip/index.d.ts +8 -0
  191. package/dist/esm/types/primitives/TooltipUtility.d.ts +12 -0
  192. package/dist/esm/types/primitives/index.d.ts +24 -0
  193. package/dist/index.d.ts +1456 -0
  194. package/package.json +81 -0
  195. package/src/components/FrontPanel/FrontPanel.props.ts +25 -0
  196. package/src/components/FrontPanel/FrontPanel.tsx +33 -0
  197. package/src/components/FrontPanel/index.ts +8 -0
  198. package/src/components/FrontPanelIndicator/FrontPanelIndicator.css +0 -0
  199. package/src/components/FrontPanelIndicator/FrontPanelIndicator.props.ts +20 -0
  200. package/src/components/FrontPanelIndicator/FrontPanelIndicator.stories.tsx +44 -0
  201. package/src/components/FrontPanelIndicator/FrontPanelIndicator.tsx +81 -0
  202. package/src/components/FrontPanelIndicator/index.ts +10 -0
  203. package/src/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.css +0 -0
  204. package/src/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.props.ts +27 -0
  205. package/src/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.stories.tsx +67 -0
  206. package/src/components/FrontPanelNumberDisplay/FrontPanelNumberDisplay.tsx +130 -0
  207. package/src/components/FrontPanelNumberDisplay/index.ts +10 -0
  208. package/src/components/FrontPanelNumberEntry/FrontPanelNumberEntry.css +0 -0
  209. package/src/components/FrontPanelNumberEntry/FrontPanelNumberEntry.props.ts +32 -0
  210. package/src/components/FrontPanelNumberEntry/FrontPanelNumberEntry.stories.tsx +104 -0
  211. package/src/components/FrontPanelNumberEntry/FrontPanelNumberEntry.tsx +195 -0
  212. package/src/components/FrontPanelNumberEntry/index.ts +10 -0
  213. package/src/components/FrontPanelPushButton/FrontPanelPushButton.css +0 -0
  214. package/src/components/FrontPanelPushButton/FrontPanelPushButton.props.ts +20 -0
  215. package/src/components/FrontPanelPushButton/FrontPanelPushButton.stories.tsx +46 -0
  216. package/src/components/FrontPanelPushButton/FrontPanelPushButton.tsx +80 -0
  217. package/src/components/FrontPanelPushButton/index.ts +10 -0
  218. package/src/components/FrontPanelRangeSlider/FrontPanelRangeSlider.css +0 -0
  219. package/src/components/FrontPanelRangeSlider/FrontPanelRangeSlider.props.ts +25 -0
  220. package/src/components/FrontPanelRangeSlider/FrontPanelRangeSlider.stories.tsx +92 -0
  221. package/src/components/FrontPanelRangeSlider/FrontPanelRangeSlider.tsx +108 -0
  222. package/src/components/FrontPanelRangeSlider/index.ts +10 -0
  223. package/src/components/FrontPanelSelectEntry/FrontPanelSelectEntry.css +0 -0
  224. package/src/components/FrontPanelSelectEntry/FrontPanelSelectEntry.stories.tsx +107 -0
  225. package/src/components/FrontPanelSelectEntry/FrontPanelSelectEntry.tsx +30 -0
  226. package/src/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.props.ts +25 -0
  227. package/src/components/FrontPanelSelectEntry/FrontPanelSelectEntryRoot.tsx +175 -0
  228. package/src/components/FrontPanelSelectEntry/index.ts +17 -0
  229. package/src/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.css +0 -0
  230. package/src/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.props.ts +20 -0
  231. package/src/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.stories.tsx +46 -0
  232. package/src/components/FrontPanelToggleSwitch/FrontPanelToggleSwitch.tsx +108 -0
  233. package/src/components/FrontPanelToggleSwitch/index.ts +10 -0
  234. package/src/components/FrontPanelTriggerButton/FrontPanelTriggerButton.css +0 -0
  235. package/src/components/FrontPanelTriggerButton/FrontPanelTriggerButton.props.ts +21 -0
  236. package/src/components/FrontPanelTriggerButton/FrontPanelTriggerButton.stories.tsx +46 -0
  237. package/src/components/FrontPanelTriggerButton/FrontPanelTriggerButton.tsx +65 -0
  238. package/src/components/FrontPanelTriggerButton/index.ts +10 -0
  239. package/src/components/Icons/ChevronIcon.tsx +69 -0
  240. package/src/components/Icons/IndicatorArrowIcon.tsx +59 -0
  241. package/src/components/Icons/IndicatorBarIcon.tsx +34 -0
  242. package/src/components/Icons/IndicatorStateIcon.tsx +82 -0
  243. package/src/components/Icons/RadioToggleStateIcon.tsx +62 -0
  244. package/src/components/Icons/SwitchToggleStateIcon.tsx +68 -0
  245. package/src/components/Icons/index.ts +15 -0
  246. package/src/components/Icons/types.ts +20 -0
  247. package/src/components/index.ts +31 -0
  248. package/src/components/types.ts +13 -0
  249. package/src/contexts/FrontPanelContext.ts +23 -0
  250. package/src/contexts/index.ts +10 -0
  251. package/src/core/Binary.ts +23 -0
  252. package/src/core/Numeric.ts +168 -0
  253. package/src/core/Types.ts +39 -0
  254. package/src/core/index.ts +11 -0
  255. package/src/fonts/Inter-VariableFont_slnt,wght.ttf +0 -0
  256. package/src/index.css +11 -0
  257. package/src/index.ts +11 -0
  258. package/src/primitives/Application/Application.props.ts +10 -0
  259. package/src/primitives/Application/Application.tsx +24 -0
  260. package/src/primitives/Application/index.ts +1 -0
  261. package/src/primitives/Button/Button.css +60 -0
  262. package/src/primitives/Button/Button.props.ts +53 -0
  263. package/src/primitives/Button/Button.stories.tsx +54 -0
  264. package/src/primitives/Button/Button.tsx +75 -0
  265. package/src/primitives/Button/index.ts +4 -0
  266. package/src/primitives/DigitEntry/DigitEntry.css +120 -0
  267. package/src/primitives/DigitEntry/DigitEntry.props.ts +62 -0
  268. package/src/primitives/DigitEntry/DigitEntry.stories.tsx +84 -0
  269. package/src/primitives/DigitEntry/DigitEntry.tsx +226 -0
  270. package/src/primitives/DigitEntry/index.ts +15 -0
  271. package/src/primitives/Indicator/Indicator.css +66 -0
  272. package/src/primitives/Indicator/Indicator.props.ts +42 -0
  273. package/src/primitives/Indicator/Indicator.stories.tsx +44 -0
  274. package/src/primitives/Indicator/Indicator.tsx +64 -0
  275. package/src/primitives/Indicator/index.ts +11 -0
  276. package/src/primitives/Label/Label.css +49 -0
  277. package/src/primitives/Label/Label.props.ts +38 -0
  278. package/src/primitives/Label/Label.stories.tsx +53 -0
  279. package/src/primitives/Label/Label.tsx +66 -0
  280. package/src/primitives/Label/index.ts +11 -0
  281. package/src/primitives/NumberDisplay/NumberDisplay.css +63 -0
  282. package/src/primitives/NumberDisplay/NumberDisplay.props.ts +65 -0
  283. package/src/primitives/NumberDisplay/NumberDisplay.stories.tsx +83 -0
  284. package/src/primitives/NumberDisplay/NumberDisplay.tsx +155 -0
  285. package/src/primitives/NumberDisplay/index.ts +11 -0
  286. package/src/primitives/NumberEntry/NumberEntry.css +71 -0
  287. package/src/primitives/NumberEntry/NumberEntry.props.ts +86 -0
  288. package/src/primitives/NumberEntry/NumberEntry.stories.tsx +129 -0
  289. package/src/primitives/NumberEntry/NumberEntry.tsx +249 -0
  290. package/src/primitives/NumberEntry/NumberEntryDigits.props.ts +57 -0
  291. package/src/primitives/NumberEntry/NumberEntryDigits.tsx +117 -0
  292. package/src/primitives/NumberEntry/index.ts +11 -0
  293. package/src/primitives/RangeSlider/RangeSlider.css +110 -0
  294. package/src/primitives/RangeSlider/RangeSlider.props.ts +93 -0
  295. package/src/primitives/RangeSlider/RangeSlider.stories.tsx +76 -0
  296. package/src/primitives/RangeSlider/RangeSlider.tsx +168 -0
  297. package/src/primitives/RangeSlider/index.ts +14 -0
  298. package/src/primitives/SelectEntry/SelectEntry.stories.tsx +86 -0
  299. package/src/primitives/SelectEntry/SelectEntry.tsx +29 -0
  300. package/src/primitives/SelectEntry/SelectEntryContent.css +94 -0
  301. package/src/primitives/SelectEntry/SelectEntryContent.tsx +63 -0
  302. package/src/primitives/SelectEntry/SelectEntryGroup.css +17 -0
  303. package/src/primitives/SelectEntry/SelectEntryGroup.tsx +37 -0
  304. package/src/primitives/SelectEntry/SelectEntryItem.css +35 -0
  305. package/src/primitives/SelectEntry/SelectEntryItem.tsx +51 -0
  306. package/src/primitives/SelectEntry/SelectEntryLabel.css +16 -0
  307. package/src/primitives/SelectEntry/SelectEntryLabel.tsx +43 -0
  308. package/src/primitives/SelectEntry/SelectEntryRoot.css +10 -0
  309. package/src/primitives/SelectEntry/SelectEntryRoot.props.ts +38 -0
  310. package/src/primitives/SelectEntry/SelectEntryRoot.tsx +69 -0
  311. package/src/primitives/SelectEntry/SelectEntrySeparator.css +12 -0
  312. package/src/primitives/SelectEntry/SelectEntrySeparator.tsx +38 -0
  313. package/src/primitives/SelectEntry/SelectEntryTrigger.css +49 -0
  314. package/src/primitives/SelectEntry/SelectEntryTrigger.props.ts +18 -0
  315. package/src/primitives/SelectEntry/SelectEntryTrigger.tsx +111 -0
  316. package/src/primitives/SelectEntry/index.ts +20 -0
  317. package/src/primitives/Toggle/Toggle.css +67 -0
  318. package/src/primitives/Toggle/Toggle.props.ts +44 -0
  319. package/src/primitives/Toggle/Toggle.stories.tsx +61 -0
  320. package/src/primitives/Toggle/Toggle.tsx +90 -0
  321. package/src/primitives/Toggle/index.ts +11 -0
  322. package/src/primitives/ToggleSwitch/ToggleSwitch.css +118 -0
  323. package/src/primitives/ToggleSwitch/ToggleSwitch.props.ts +26 -0
  324. package/src/primitives/ToggleSwitch/ToggleSwitch.stories.tsx +85 -0
  325. package/src/primitives/ToggleSwitch/ToggleSwitch.tsx +73 -0
  326. package/src/primitives/ToggleSwitch/index.ts +10 -0
  327. package/src/primitives/Tooltip/Tooltip.css +93 -0
  328. package/src/primitives/Tooltip/Tooltip.props.ts +20 -0
  329. package/src/primitives/Tooltip/Tooltip.tsx +91 -0
  330. package/src/primitives/Tooltip/index.ts +10 -0
  331. package/src/primitives/TooltipUtility.tsx +24 -0
  332. package/src/primitives/index.ts +44 -0
  333. package/src/stories/decorators/Application.decorator.tsx +20 -0
  334. package/src/stories/decorators/FrontPanel.decorator.tsx +47 -0
@@ -0,0 +1,1456 @@
1
+ /// <reference types="react" />
2
+ import { BitCount, IFrontPanel, WorkQueue, IFrontPanelEventSource } from '@opalkelly/frontpanel-alloy-core';
3
+ import * as React$1 from 'react';
4
+ import React__default, { ReactNode } from 'react';
5
+ import * as SelectPrimitive from '@radix-ui/react-select';
6
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
7
+
8
+ /**
9
+ * Copyright (c) 2024 Opal Kelly Incorporated
10
+ *
11
+ * This source code is licensed under the FrontPanel license.
12
+ * See the LICENSE file found in the root directory of this project.
13
+ */
14
+ /**
15
+ * Enumeration representing numeral systems.
16
+ */
17
+ declare enum NumeralSystem {
18
+ /**
19
+ * Binary numeral system (base 2).
20
+ */
21
+ Binary = 2,
22
+ /**
23
+ * Octal numeral system (base 8).
24
+ */
25
+ Octal = 8,
26
+ /**
27
+ * Decimal numeral system (base 10).
28
+ */
29
+ Decimal = 10,
30
+ /**
31
+ * Hexadecimal numeral system (base 16).
32
+ */
33
+ Hexadecimal = 16
34
+ }
35
+ /**
36
+ * Enumeration representing toggle states.
37
+ */
38
+ declare enum ToggleState {
39
+ Off = 0,
40
+ On = 1
41
+ }
42
+
43
+ /**
44
+ * Copyright (c) 2024 Opal Kelly Incorporated
45
+ *
46
+ * This source code is licensed under the FrontPanel license.
47
+ * See the LICENSE file found in the root directory of this project.
48
+ */
49
+
50
+ /**
51
+ * Class representing numeric digits in various numeral systems.
52
+ */
53
+ declare class NumericDigits {
54
+ /**
55
+ * Maximum number of digits.
56
+ */
57
+ static readonly MAX_DIGITS: number;
58
+ /**
59
+ * Binary digit values.
60
+ */
61
+ static readonly BINARY_DIGITVALUES: string[];
62
+ /**
63
+ * Octal digit values.
64
+ */
65
+ static readonly OCTAL_DIGITVALUES: string[];
66
+ /**
67
+ * Decimal digit values.
68
+ */
69
+ static readonly DECIMAL_DIGITVALUES: string[];
70
+ /**
71
+ * Hexadecimal digit values.
72
+ */
73
+ static readonly HEXADECIMAL_DIGITVALUES: string[];
74
+ private readonly _DigitCount;
75
+ private readonly _NumeralSystem;
76
+ private readonly _DigitChars;
77
+ /**
78
+ * Gets the count of digits.
79
+ */
80
+ get DigitCount(): bigint;
81
+ /**
82
+ * Gets the numeral system.
83
+ */
84
+ get NumeralSystem(): NumeralSystem;
85
+ /**
86
+ * Gets the digit characters.
87
+ */
88
+ get DigitChars(): string[];
89
+ /**
90
+ * Creates a new instance of NumericDigits.
91
+ * @param digitCount - The count of digits.
92
+ * @param numeralSystem - The numeral system.
93
+ */
94
+ constructor(digitCount: bigint, numeralSystem: NumeralSystem);
95
+ /**
96
+ * Gets the character representation of the digit corresponding
97
+ * to the value specified.
98
+ * @param value - The value.
99
+ * @returns {string} - The digit as represented in the numeral system.
100
+ */
101
+ GetDigitFromValue(value: number): string;
102
+ /**
103
+ * Gets the digit characters from the numeral.
104
+ * @param numeral - The numeral system.
105
+ * @returns {string[]} - The digit characters.
106
+ */
107
+ static GetDigitChars(numeral: NumeralSystem): string[];
108
+ /**
109
+ * Computes the digit count from the bits.
110
+ * @param bitcount - The bit count.
111
+ * @param numeral - The numeral.
112
+ * @returns {bigint} - The digit count.
113
+ */
114
+ static ComputeDigitCountFromBits(bitcount: number, numeral: NumeralSystem): bigint;
115
+ /**
116
+ * Computes the digit count from the value.
117
+ * @param value - The value.
118
+ * @param numeral - The numeral.
119
+ * @returns {bigint} - The digit count.
120
+ */
121
+ static ComputeDigitCountFromValue(value: bigint, numeral: NumeralSystem): bigint;
122
+ }
123
+
124
+ /**
125
+ * Copyright (c) 2024 Opal Kelly Incorporated
126
+ *
127
+ * This source code is licensed under the FrontPanel license.
128
+ * See the LICENSE file found in the root directory of this project.
129
+ */
130
+ declare function CalculateBitLength(value: bigint): number;
131
+
132
+ /**
133
+ * Copyright (c) 2024 Opal Kelly Incorporated
134
+ *
135
+ * This source code is licensed under the FrontPanel license.
136
+ * See the LICENSE file found in the root directory of this project.
137
+ */
138
+
139
+ interface EndpointAddressProps {
140
+ epAddress: number;
141
+ bitOffset: BitCount;
142
+ }
143
+
144
+ /**
145
+ * Copyright (c) 2024 Opal Kelly Incorporated
146
+ *
147
+ * This source code is licensed under the FrontPanel license.
148
+ * See the LICENSE file found in the root directory of this project.
149
+ */
150
+
151
+ interface FrontPanelProps extends React.PropsWithChildren<NonNullable<unknown>> {
152
+ /**
153
+ * The front panel device to be used
154
+ */
155
+ device?: IFrontPanel;
156
+ /**
157
+ * Optional work queue to be used
158
+ */
159
+ workQueue?: WorkQueue;
160
+ /**
161
+ * Optional event source to be used
162
+ */
163
+ eventSource?: IFrontPanelEventSource;
164
+ }
165
+
166
+ /**
167
+ * Copyright (c) 2024 Opal Kelly Incorporated
168
+ *
169
+ * This source code is licensed under the FrontPanel license.
170
+ * See the LICENSE file found in the root directory of this project.
171
+ */
172
+
173
+ declare const FrontPanel: React__default.FC<FrontPanelProps>;
174
+
175
+ /**
176
+ * Copyright (c) 2024 Opal Kelly Incorporated
177
+ *
178
+ * This source code is licensed under the FrontPanel license.
179
+ * See the LICENSE file found in the root directory of this project.
180
+ */
181
+ interface ApplicationProps extends React.PropsWithChildren<NonNullable<unknown>> {
182
+ }
183
+
184
+ /**
185
+ * Copyright (c) 2024 Opal Kelly Incorporated
186
+ *
187
+ * This source code is licensed under the FrontPanel license.
188
+ * See the LICENSE file found in the root directory of this project.
189
+ */
190
+
191
+ declare const Application: React$1.ForwardRefExoticComponent<ApplicationProps & React$1.RefAttributes<HTMLDivElement>>;
192
+
193
+ /**
194
+ * Copyright (c) 2024 Opal Kelly Incorporated
195
+ *
196
+ * This source code is licensed under the FrontPanel license.
197
+ * See the LICENSE file found in the root directory of this project.
198
+ */
199
+ type ButtonSize = 1 | 2 | 3;
200
+ type ButtonStateChangeEventHandler = () => void;
201
+ type ButtonClickEventHandler = () => void;
202
+ /**
203
+ * Interface for the properties of the `Button` component.
204
+ */
205
+ interface ButtonProps {
206
+ /**
207
+ * Label text to be displayed in the button
208
+ */
209
+ label: string;
210
+ /**
211
+ * Optional CSS class to apply to the button
212
+ */
213
+ className?: string;
214
+ /**
215
+ * Optional size of the button
216
+ * @default 1
217
+ */
218
+ size?: ButtonSize;
219
+ /**
220
+ * Optional tooltip text to be displayed on hover
221
+ */
222
+ tooltip?: string;
223
+ /**
224
+ * Optional event handler for the button down event
225
+ */
226
+ onButtonDown?: ButtonStateChangeEventHandler;
227
+ /**
228
+ * Optional event handler for the button up event
229
+ */
230
+ onButtonUp?: ButtonStateChangeEventHandler;
231
+ /**
232
+ * Optional event handler for the button click event
233
+ */
234
+ onButtonClick?: ButtonClickEventHandler;
235
+ }
236
+
237
+ /**
238
+ * Copyright (c) 2024 Opal Kelly Incorporated
239
+ *
240
+ * This source code is licensed under the FrontPanel license.
241
+ * See the LICENSE file found in the root directory of this project.
242
+ */
243
+
244
+ interface ButtonCombinedProps extends React__default.ComponentPropsWithoutRef<"button">, ButtonProps {
245
+ }
246
+
247
+ /**
248
+ * `Button` is a React component that renders a button with an optional label and optional tooltip.
249
+ * The button event handlers provide notification when the button is clicked, pressed, or released
250
+ * and can be used to perform actions in response to these events.
251
+ *
252
+ * @component
253
+ * @param {object} props - Properties passed to component
254
+ * @param {React.Ref} forwardedRef - Forwarded ref for the button
255
+ *
256
+ * @returns {React.Node} The rendered Button component
257
+ *
258
+ * @example
259
+ * ```jsx
260
+ * <Button
261
+ * label="Button"
262
+ * onButtonClick={() => console.log("Button clicked")} />
263
+ * ```
264
+ */
265
+ declare const Button: React__default.ForwardRefExoticComponent<ButtonCombinedProps & React__default.RefAttributes<HTMLButtonElement>>;
266
+
267
+ /**
268
+ * Copyright (c) 2024 Opal Kelly Incorporated
269
+ *
270
+ * This source code is licensed under the FrontPanel license.
271
+ * See the LICENSE file found in the root directory of this project.
272
+ */
273
+ type IndicatorSize = 1 | 2 | 3;
274
+ type IndicatorState = boolean;
275
+ /**
276
+ * Interface for the properties of the `Indicator` component.
277
+ */
278
+ interface IndicatorProps {
279
+ /**
280
+ * Label to be displayed on the indicator
281
+ */
282
+ label: string;
283
+ /**
284
+ * Current state of the indicator
285
+ */
286
+ state: IndicatorState;
287
+ /**
288
+ * Optional CSS class to apply to the indicator
289
+ */
290
+ className?: string;
291
+ /**
292
+ * Optional size of the indicator
293
+ * @default 1
294
+ */
295
+ size?: IndicatorSize;
296
+ /**
297
+ * Optional tooltip text to be displayed on hover
298
+ */
299
+ tooltip?: string;
300
+ }
301
+
302
+ /**
303
+ * Copyright (c) 2024 Opal Kelly Incorporated
304
+ *
305
+ * This source code is licensed under the FrontPanel license.
306
+ * See the LICENSE file found in the root directory of this project.
307
+ */
308
+
309
+ /**
310
+ * `Indicator` is a React component that renders an indicator that represents the state of a boolean value with an
311
+ * optional tooltip.
312
+ *
313
+ * @component
314
+ * @param {object} props - Properties passed to component
315
+ * @param {React.Ref} forwardedRef - Forwarded ref for the indicator
316
+ *
317
+ * @returns {React.Node} The rendered Indicator component
318
+ *
319
+ * @example
320
+ * ```jsx
321
+ * <Indicator
322
+ * label="Indicator"
323
+ * state={true} />
324
+ * ```
325
+ */
326
+ declare const Indicator: React__default.ForwardRefExoticComponent<IndicatorProps & React__default.RefAttributes<HTMLSpanElement>>;
327
+
328
+ /**
329
+ * Copyright (c) 2024 Opal Kelly Incorporated
330
+ *
331
+ * This source code is licensed under the FrontPanel license.
332
+ * See the LICENSE file found in the root directory of this project.
333
+ */
334
+ type LabelVerticalPosition = "top" | "bottom";
335
+ type LabelHorizontalPosition = "left" | "right";
336
+ /**
337
+ * Interface for the properties of the `Label` component.
338
+ */
339
+ interface LabelProps extends React.PropsWithChildren<NonNullable<unknown>> {
340
+ /**
341
+ * Text to be displayed on the label
342
+ */
343
+ text: string;
344
+ /**
345
+ * Optional CSS class to apply to the label
346
+ */
347
+ className?: string;
348
+ /**
349
+ * Optional horizontal position of the label, defined in LabelHorizontalPosition
350
+ * @default "left"
351
+ */
352
+ horizontalPosition?: LabelHorizontalPosition;
353
+ /**
354
+ * Optional vertical position of the label, defined in LabelVerticalPosition
355
+ * @default "top"
356
+ */
357
+ verticalPosition?: LabelVerticalPosition;
358
+ }
359
+
360
+ /**
361
+ * Copyright (c) 2024 Opal Kelly Incorporated
362
+ *
363
+ * This source code is licensed under the FrontPanel license.
364
+ * See the LICENSE file found in the root directory of this project.
365
+ */
366
+
367
+ /**
368
+ * `Label` is a React component that renders a label with optional positioning.
369
+ *
370
+ * @component
371
+ * @param {object} props - Properties passed to component
372
+ * @param {React.Ref} forwardedRef - Forwarded ref for the indicator
373
+ *
374
+ * @returns {ReactNode} The rendered Label component
375
+ *
376
+ * @example
377
+ * ```jsx
378
+ * <Label
379
+ * text="Label"
380
+ * horizontalPosition="left"
381
+ * verticalPosition="top">
382
+ * <input type="text" />
383
+ * </Label>
384
+ * ```
385
+ */
386
+ declare const Label: React__default.ForwardRefExoticComponent<LabelProps & React__default.RefAttributes<HTMLDivElement>>;
387
+
388
+ /**
389
+ * Copyright (c) 2024 Opal Kelly Incorporated
390
+ *
391
+ * This source code is licensed under the FrontPanel license.
392
+ * See the LICENSE file found in the root directory of this project.
393
+ */
394
+
395
+ type NumberDisplaySize = 1 | 2 | 3;
396
+ /**
397
+ * Interface for the properties of the `NumberDisplay` component.
398
+ */
399
+ interface NumberDisplayProps {
400
+ /**
401
+ * Current value to be displayed
402
+ */
403
+ value: bigint;
404
+ /**
405
+ * Maximum value that can be displayed
406
+ */
407
+ maximumValue: bigint;
408
+ /**
409
+ * Minimum value that can be displayed
410
+ */
411
+ minimumValue: bigint;
412
+ /**
413
+ * Optional CSS class to apply to the number display
414
+ */
415
+ className?: string;
416
+ /**
417
+ * Optional label properties for the number display
418
+ */
419
+ label?: LabelProps;
420
+ /**
421
+ * Optional size of the number display
422
+ * @default 1
423
+ */
424
+ size?: NumberDisplaySize;
425
+ /**
426
+ * Optional tooltip text to be displayed on hover
427
+ */
428
+ tooltip?: string;
429
+ /**
430
+ * Optional numeral system to be used for the number display, defined in NumeralSystem
431
+ */
432
+ numeralSystem?: NumeralSystem;
433
+ /**
434
+ * Optional decimal scale for the number entry (Only used when numeral system is NumeralSystem.Decimal)
435
+ */
436
+ decimalScale?: number;
437
+ }
438
+
439
+ /**
440
+ * Copyright (c) 2024 Opal Kelly Incorporated
441
+ *
442
+ * This source code is licensed under the FrontPanel license.
443
+ * See the LICENSE file found in the root directory of this project.
444
+ */
445
+
446
+ /**
447
+ * `NumberDisplay` is a React component that renders a number represented in binary, octal,
448
+ * decimal, or hexadecimal numeral systems with optional tooltip. It also allows to
449
+ * optionally set the decimal scale of the number when using the decimal numeral system.
450
+ *
451
+ * @component
452
+ * @param {object} props - Properties passed to component
453
+ * @param {React.Ref} forwardedRef - Forwarded ref for the NumberDisplay
454
+ * @returns {React.Node} The rendered NumberDisplay component
455
+ *
456
+ * @example
457
+ * ```jsx
458
+ * <NumberDisplay
459
+ * label="Number Display"
460
+ * value={23456}
461
+ * maximumValue={65535}
462
+ * minimumValue={0} />
463
+ * ```
464
+ */
465
+ declare const NumberDisplay: React__default.ForwardRefExoticComponent<NumberDisplayProps & React__default.RefAttributes<HTMLDivElement>>;
466
+
467
+ /**
468
+ * Copyright (c) 2024 Opal Kelly Incorporated
469
+ *
470
+ * This source code is licensed under the FrontPanel license.
471
+ * See the LICENSE file found in the root directory of this project.
472
+ */
473
+
474
+ type DigitEntryVariant = "standard" | "compact";
475
+
476
+ /**
477
+ * Copyright (c) 2024 Opal Kelly Incorporated
478
+ *
479
+ * This source code is licensed under the FrontPanel license.
480
+ * See the LICENSE file found in the root directory of this project.
481
+ */
482
+
483
+ type NumberEntrySize = 1 | 2 | 3;
484
+ type NumberEntryValueChangeEventHandler = (value: bigint) => void;
485
+ /**
486
+ * Interface for the properties of the `NumberEntry` component.
487
+ */
488
+ interface NumberEntryProps {
489
+ /**
490
+ * Current value of the number entry
491
+ */
492
+ value: bigint;
493
+ /**
494
+ * Maximum value that can be entered
495
+ */
496
+ maximumValue: bigint;
497
+ /**
498
+ * Minimum value that can be entered
499
+ */
500
+ minimumValue: bigint;
501
+ /**
502
+ * Optional CSS class to apply to the number entry
503
+ */
504
+ className?: string;
505
+ /**
506
+ * Optional decimal scale for the number entry (Only used when numeral system is NumeralSystem.Decimal)
507
+ */
508
+ decimalScale?: number;
509
+ /**
510
+ * Optional disable the number entry
511
+ * @default false
512
+ */
513
+ disabled?: boolean;
514
+ /**
515
+ * Optional label properties for the number entry
516
+ */
517
+ label?: LabelProps;
518
+ /**
519
+ * Optional numeral system to be used for the number entry, defined in NumeralSystem
520
+ * @default Decimal
521
+ */
522
+ numeralSystem?: NumeralSystem;
523
+ /**
524
+ * Optional Size of the number entry
525
+ * @default 1
526
+ */
527
+ size?: NumberEntrySize;
528
+ /**
529
+ * Optional tooltip text to be displayed on hover
530
+ */
531
+ tooltip?: string;
532
+ /**
533
+ * Optional variant of the digit entry
534
+ * @default standard
535
+ */
536
+ variant?: DigitEntryVariant;
537
+ /**
538
+ * Optional event handler for the value changed event
539
+ */
540
+ onValueChange?: NumberEntryValueChangeEventHandler;
541
+ }
542
+
543
+ /**
544
+ * Copyright (c) 2024 Opal Kelly Incorporated
545
+ *
546
+ * This source code is licensed under the FrontPanel license.
547
+ * See the LICENSE file found in the root directory of this project.
548
+ */
549
+
550
+ /**
551
+ * `NumberEntry` is a React component that renders a number entry field to allow setting the value of a number
552
+ * represented in binary, octal, decimal, or hexadecimal numeral systems. The values of the individual digits of
553
+ * the number can be entered by key or they can incremented and decremented using the up and down arrow keys and or
554
+ * the mouse wheel. The maximum and minimum values of the number can be specified to limit the range of values that
555
+ * that can be set. Each individual digit shows an indicator to show if the value of that digit can be incremented
556
+ * or decremented based on the maximum and minimum values.
557
+ *
558
+ * @component
559
+ * @param {Object} props - Properties passed to component
560
+ * @param {React.Ref} forwardedRef - Forwarded ref for the number display
561
+ *
562
+ * @returns {React.Node} The rendered NumberEntry component.
563
+ *
564
+ * @example
565
+ * ```jsx
566
+ * <NumberEntry
567
+ * value={0}
568
+ * maximumValue={65535}
569
+ * minimumValue={0} />
570
+ * ```
571
+ */
572
+ declare const NumberEntry: React__default.ForwardRefExoticComponent<NumberEntryProps & React__default.RefAttributes<HTMLDivElement>>;
573
+
574
+ /**
575
+ * Copyright (c) 2024 Opal Kelly Incorporated
576
+ *
577
+ * This source code is licensed under the FrontPanel license.
578
+ * See the LICENSE file found in the root directory of this project.
579
+ */
580
+
581
+ type RangeSliderValueChangeEventHandler = (value: number) => void;
582
+ type RangeSliderValueCommitEventHandler = (value: number) => void;
583
+ /**
584
+ * Interface for the properties of the `RangeSlider` component.
585
+ *
586
+ * @interface
587
+ */
588
+ interface RangeSliderProps {
589
+ /**
590
+ * Optional CSS class to apply to the range
591
+ */
592
+ className?: string;
593
+ /**
594
+ * Optional label properties for the range slider
595
+ */
596
+ label?: LabelProps;
597
+ /**
598
+ * Optional tooltip text to be displayed on hover
599
+ */
600
+ tooltip?: string;
601
+ /**
602
+ * Optional default value of the range slider
603
+ */
604
+ defaultValue?: number;
605
+ /**
606
+ * Optional current value of the range slider
607
+ */
608
+ value?: number;
609
+ /**
610
+ * Optional step value for the range slider. This determines the increments in value for each step
611
+ * @default 1
612
+ */
613
+ valueStep?: number;
614
+ /**
615
+ * Optional minimum value that the range slider can have
616
+ * @default 0
617
+ */
618
+ minimumValue?: number;
619
+ /**
620
+ * Optional maximum value that the range slider can have
621
+ * @default 100
622
+ */
623
+ maximumValue?: number;
624
+ /**
625
+ * Optional disable the range slider
626
+ * @default false
627
+ */
628
+ disabled?: boolean;
629
+ /**
630
+ * Optional show the label for the thumb (handle) of the range slider
631
+ * @default true
632
+ */
633
+ showThumbLabel?: boolean;
634
+ /**
635
+ * Optional show the labels for the track of the range slider
636
+ * @default true
637
+ */
638
+ showTrackLabels?: boolean;
639
+ /**
640
+ * Optional event handler for the range slider value change event
641
+ * @type {RangeSliderValueChangeEventHandler}
642
+ */
643
+ onValueChange?: RangeSliderValueChangeEventHandler;
644
+ /**
645
+ * Optional event handler for the range slider value committed event
646
+ * @type {RangeSliderValueCommitEventHandler}
647
+ */
648
+ onValueCommit?: RangeSliderValueCommitEventHandler;
649
+ }
650
+
651
+ /**
652
+ * Copyright (c) 2024 Opal Kelly Incorporated
653
+ *
654
+ * This source code is licensed under the FrontPanel license.
655
+ * See the LICENSE file found in the root directory of this project.
656
+ */
657
+
658
+ /**
659
+ * `RangeSlider` is a React component that renders a range slider to allow setting a value within a specified
660
+ * range by clicking and dragging the slider thumb or by using the arrow keys. The slider can optionally show
661
+ * a label and/or a tooltip.
662
+ *
663
+ * @component
664
+ * @param {object} props - Properties passed to component
665
+ * @param {React.Ref} forwardedRef - Forwarded ref for the range slider
666
+ *
667
+ * @returns {React.Node} The rendered RangeSlider component
668
+ *
669
+ * @example
670
+ * ```jsx
671
+ * <RangeSlider
672
+ * defaultValue={50}
673
+ * maximumValue={100}
674
+ * minimumValue={0}
675
+ * valueStep={1}
676
+ * onValueChange={(value) => console.log(value)} />
677
+ * ```
678
+ */
679
+ declare const RangeSlider: React__default.ForwardRefExoticComponent<RangeSliderProps & React__default.RefAttributes<HTMLSpanElement>>;
680
+
681
+ /**
682
+ * Copyright (c) 2024 Opal Kelly Incorporated
683
+ *
684
+ * This source code is licensed under the FrontPanel license.
685
+ * See the LICENSE file found in the root directory of this project.
686
+ */
687
+
688
+ interface SelectEntrySeparatorCombinedProps extends React__default.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator> {
689
+ }
690
+
691
+ declare const SelectEntrySeparator: React__default.ForwardRefExoticComponent<SelectEntrySeparatorCombinedProps & React__default.RefAttributes<HTMLDivElement>>;
692
+
693
+ /**
694
+ * Copyright (c) 2024 Opal Kelly Incorporated
695
+ *
696
+ * This source code is licensed under the FrontPanel license.
697
+ * See the LICENSE file found in the root directory of this project.
698
+ */
699
+
700
+ interface SelectEntryLabelCombinedProps extends React__default.ComponentPropsWithoutRef<typeof SelectPrimitive.Label> {
701
+ }
702
+
703
+ declare const SelectEntryLabel: React__default.ForwardRefExoticComponent<SelectEntryLabelCombinedProps & React__default.RefAttributes<HTMLDivElement>>;
704
+
705
+ /**
706
+ * Copyright (c) 2024 Opal Kelly Incorporated
707
+ *
708
+ * This source code is licensed under the FrontPanel license.
709
+ * See the LICENSE file found in the root directory of this project.
710
+ */
711
+
712
+ interface SelectEntryGroupCombinedProps extends React__default.ComponentPropsWithoutRef<typeof SelectPrimitive.Group> {
713
+ }
714
+
715
+ declare const SelectEntryGroup: React__default.ForwardRefExoticComponent<SelectEntryGroupCombinedProps & React__default.RefAttributes<HTMLDivElement>>;
716
+
717
+ /**
718
+ * Copyright (c) 2024 Opal Kelly Incorporated
719
+ *
720
+ * This source code is licensed under the FrontPanel license.
721
+ * See the LICENSE file found in the root directory of this project.
722
+ */
723
+
724
+ interface SelectEntryItemCombinedProps extends React__default.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> {
725
+ }
726
+
727
+ declare const SelectEntryItem: React__default.ForwardRefExoticComponent<SelectEntryItemCombinedProps & React__default.RefAttributes<HTMLDivElement>>;
728
+
729
+ /**
730
+ * Copyright (c) 2024 Opal Kelly Incorporated
731
+ *
732
+ * This source code is licensed under the FrontPanel license.
733
+ * See the LICENSE file found in the root directory of this project.
734
+ */
735
+
736
+ interface SelectContentCombinedProps extends React__default.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> {
737
+ container?: React__default.ComponentProps<typeof SelectPrimitive.Portal>["container"];
738
+ }
739
+
740
+ declare const SelectEntryContent: React__default.ForwardRefExoticComponent<SelectContentCombinedProps & React__default.RefAttributes<HTMLDivElement>>;
741
+
742
+ /**
743
+ * Copyright (c) 2024 Opal Kelly Incorporated
744
+ *
745
+ * This source code is licensed under the FrontPanel license.
746
+ * See the LICENSE file found in the root directory of this project.
747
+ */
748
+ /**
749
+ * Interface for the properties of the `SelectEntryTrigger` component.
750
+ */
751
+ interface SelectEntryTriggerProps {
752
+ /**
753
+ * Optional placeholder text to be displayed when no value is selected
754
+ */
755
+ placeholder?: string;
756
+ }
757
+
758
+ /**
759
+ * Copyright (c) 2024 Opal Kelly Incorporated
760
+ *
761
+ * This source code is licensed under the FrontPanel license.
762
+ * See the LICENSE file found in the root directory of this project.
763
+ */
764
+
765
+ interface SelectEntryTriggerCombinedProps extends Omit<React__default.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>, "asChild">, SelectEntryTriggerProps {
766
+ }
767
+
768
+ declare const SelectEntryTrigger: React__default.ForwardRefExoticComponent<SelectEntryTriggerCombinedProps & React__default.RefAttributes<HTMLButtonElement>>;
769
+
770
+ /**
771
+ * Copyright (c) 2024 Opal Kelly Incorporated
772
+ *
773
+ * This source code is licensed under the FrontPanel license.
774
+ * See the LICENSE file found in the root directory of this project.
775
+ */
776
+
777
+ type SelectEntrySize = 1 | 2 | 3;
778
+ /**
779
+ * Interface for the properties of the `SelectEntryRoot` component.
780
+ */
781
+ interface SelectEntryRootProps {
782
+ /**
783
+ * Optional CSS class to apply to the select entry root
784
+ */
785
+ className?: string;
786
+ /**
787
+ * Optional label properties for the select entry root
788
+ */
789
+ label?: LabelProps;
790
+ /**
791
+ * Optional size of the select entry root
792
+ * @default 1
793
+ */
794
+ size?: SelectEntrySize;
795
+ /**
796
+ * Optional tooltip text to be displayed on hover
797
+ */
798
+ tooltip?: string;
799
+ }
800
+
801
+ /**
802
+ * Copyright (c) 2024 Opal Kelly Incorporated
803
+ *
804
+ * This source code is licensed under the FrontPanel license.
805
+ * See the LICENSE file found in the root directory of this project.
806
+ */
807
+
808
+ interface SelectEntryRootCombinedProps extends React__default.ComponentPropsWithoutRef<typeof SelectPrimitive.Root>, SelectEntryRootProps {
809
+ }
810
+
811
+ /**
812
+ * `SelectEntryRoot` is a React component that is the root component of a select entry. The children of this
813
+ * component are used to specify the component parts. The parts include the trigger that can be clicked on to
814
+ * show a list of options to select from, and the content that is the list of options.
815
+ *
816
+ * @component
817
+ * @param {object} props - Properties passed to component
818
+ *
819
+ * @returns {ReactNode} The rendered SelectEntryRoot component
820
+ *
821
+ * @example
822
+ * ```jsx
823
+ * <SelectEntryRoot>
824
+ * <SelectEntry.Trigger />
825
+ * <SelectEntry.Content>
826
+ * <SelectEntry.Group>
827
+ * <SelectEntry.Label>Options</SelectEntry.Label>
828
+ * <SelectEntry.Item value="0">Option 0</SelectEntry.Item>
829
+ * <SelectEntry.Item value="1">Option 1</SelectEntry.Item>
830
+ * </SelectEntry.Group>
831
+ * </SelectEntry.Content>
832
+ * </SelectEntryRoot>
833
+ * ```
834
+ */
835
+ declare const SelectEntryRoot: React__default.FC<SelectEntryRootCombinedProps>;
836
+
837
+ /**
838
+ * Copyright (c) 2024 Opal Kelly Incorporated
839
+ *
840
+ * This source code is licensed under the FrontPanel license.
841
+ * See the LICENSE file found in the root directory of this project.
842
+ */
843
+ declare const SelectEntry: {
844
+ Root: React$1.FC<SelectEntryRootCombinedProps>;
845
+ Trigger: React$1.ForwardRefExoticComponent<SelectEntryTriggerCombinedProps & React$1.RefAttributes<HTMLButtonElement>>;
846
+ Content: React$1.ForwardRefExoticComponent<SelectContentCombinedProps & React$1.RefAttributes<HTMLDivElement>>;
847
+ Item: React$1.ForwardRefExoticComponent<SelectEntryItemCombinedProps & React$1.RefAttributes<HTMLDivElement>>;
848
+ Group: React$1.ForwardRefExoticComponent<SelectEntryGroupCombinedProps & React$1.RefAttributes<HTMLDivElement>>;
849
+ Label: React$1.ForwardRefExoticComponent<SelectEntryLabelCombinedProps & React$1.RefAttributes<HTMLDivElement>>;
850
+ Separator: React$1.ForwardRefExoticComponent<SelectEntrySeparatorCombinedProps & React$1.RefAttributes<HTMLDivElement>>;
851
+ };
852
+
853
+ /**
854
+ * Copyright (c) 2024 Opal Kelly Incorporated
855
+ *
856
+ * This source code is licensed under the FrontPanel license.
857
+ * See the LICENSE file found in the root directory of this project.
858
+ */
859
+
860
+ type ToggleSize = 1 | 2 | 3;
861
+ type ToggleStateChangeEventHandler = (state: ToggleState) => void;
862
+ /**
863
+ * Interface for the properties of the `Toggle` component.
864
+ */
865
+ interface ToggleProps extends React.PropsWithChildren<NonNullable<unknown>> {
866
+ /**
867
+ * Current state of the toggle, defined in ToggleState
868
+ */
869
+ state: ToggleState;
870
+ /**
871
+ * Optional CSS class to apply to the toggle
872
+ */
873
+ className?: string;
874
+ /**
875
+ * Optional size of the toggle
876
+ * @default 1
877
+ */
878
+ size?: ToggleSize;
879
+ /**
880
+ * Optional tooltip text to be displayed on hover
881
+ */
882
+ tooltip?: string;
883
+ /**
884
+ * Optional event handler for the toggle state change event
885
+ */
886
+ onToggleStateChanged?: ToggleStateChangeEventHandler;
887
+ }
888
+
889
+ /**
890
+ * Copyright (c) 2024 Opal Kelly Incorporated
891
+ *
892
+ * This source code is licensed under the FrontPanel license.
893
+ * See the LICENSE file found in the root directory of this project.
894
+ */
895
+
896
+ interface ToggleCombinedProps extends React__default.ComponentPropsWithoutRef<"button">, ToggleProps {
897
+ }
898
+
899
+ /**
900
+ * `Toggle` is a React component that renders a toggle button to toggle between an "on" and "off"
901
+ * state when the button is clicked. Notification of the state transtion is provided through the
902
+ * `onToggleStateChanged` event handler.
903
+ *
904
+ * @component
905
+ * @param {Object} props - The properties that define the `Toggle` component.
906
+ * @param {React.Ref<ToggleElement>} forwardedRef - A ref that is forwarded to the `Toggle` component.
907
+ *
908
+ * @returns {React.ReactElement} The `Toggle` component.
909
+ *
910
+ * @example
911
+ * ```jsx
912
+ * <Toggle
913
+ * state={ToggleState.On}
914
+ * onToggleStateChanged={(newState) => console.log(newState)}>
915
+ * <span>Toggle<span>
916
+ * </Toggle>
917
+ * ```
918
+ */
919
+ declare const Toggle: React__default.ForwardRefExoticComponent<ToggleCombinedProps & React__default.RefAttributes<HTMLButtonElement>>;
920
+
921
+ /**
922
+ * Copyright (c) 2024 Opal Kelly Incorporated
923
+ *
924
+ * This source code is licensed under the FrontPanel license.
925
+ * See the LICENSE file found in the root directory of this project.
926
+ */
927
+
928
+ /**
929
+ * Interface for the properties of the `ToggleSwitch` component.
930
+ */
931
+ interface ToggleSwitchProps extends ToggleProps {
932
+ /**
933
+ * Label to be displayed on the toggle switch
934
+ */
935
+ label: string;
936
+ /**
937
+ * Optional disable the toggle switch
938
+ * @default false
939
+ */
940
+ disabled?: boolean;
941
+ }
942
+
943
+ /**
944
+ * Copyright (c) 2024 Opal Kelly Incorporated
945
+ *
946
+ * This source code is licensed under the FrontPanel license.
947
+ * See the LICENSE file found in the root directory of this project.
948
+ */
949
+
950
+ /**
951
+ * `ToggleSwitch` is a React component that renders a toggle switch with a label and a switch button
952
+ * that represents the current toggle state. When the switch is clicked, the toggle
953
+ * state will transition to the next state. Notification of the state transtion is provided through the
954
+ * `onToggleStateChanged` event handler.
955
+ *
956
+ * @component
957
+ * @param {Object} props - Properties passed to component
958
+ * @param {React.Ref<ToggleSwitchElement>} forwardedRef - Forwarded ref for the button
959
+ *
960
+ * @returns {React.ReactElement} The rendered ToggleSwitch component
961
+ *
962
+ * @example
963
+ * ```jsx
964
+ * <ToggleSwitch
965
+ * label="Toggle"
966
+ * state={ToggleState.On}
967
+ * onToggleStateChanged={(newState) => console.log(newState)} />
968
+ * ```
969
+ */
970
+ declare const ToggleSwitch: React__default.ForwardRefExoticComponent<ToggleSwitchProps & React__default.RefAttributes<HTMLButtonElement>>;
971
+
972
+ /**
973
+ * Copyright (c) 2024 Opal Kelly Incorporated
974
+ *
975
+ * This source code is licensed under the FrontPanel license.
976
+ * See the LICENSE file found in the root directory of this project.
977
+ */
978
+
979
+ /**
980
+ * Interface for the properties of the `Tooltip` component.
981
+ */
982
+ interface TooltipProps extends React.PropsWithChildren<NonNullable<unknown>> {
983
+ /**
984
+ * Content to be displayed within the tooltip
985
+ */
986
+ content: ReactNode;
987
+ }
988
+
989
+ /**
990
+ * Copyright (c) 2024 Opal Kelly Incorporated
991
+ *
992
+ * This source code is licensed under the FrontPanel license.
993
+ * See the LICENSE file found in the root directory of this project.
994
+ */
995
+
996
+ interface TooltipCombinedProps extends React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root>, Omit<React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>, "content">, TooltipProps {
997
+ content: NonNullable<TooltipProps["content"]>;
998
+ container?: React__default.ComponentProps<typeof TooltipPrimitive.Portal>["container"];
999
+ }
1000
+
1001
+ /**
1002
+ * `Tooltip` is a React component that displays a popup with text when the mouse cursor hovers
1003
+ * over the child component.
1004
+ *
1005
+ * @component *
1006
+ * @param {object} props - Properties passed to component
1007
+ * @param {React.Ref} forwardedRef - Forwarded ref for the button
1008
+ *
1009
+ * @returns {ReactElement} The rendered Tooltip component
1010
+ *
1011
+ * @example
1012
+ * ```jsx
1013
+ * <Tooltip content="Tooltip text">
1014
+ * <button>Hover over me</button>
1015
+ * </Tooltip>
1016
+ * ```
1017
+ */
1018
+ declare const Tooltip: React__default.ForwardRefExoticComponent<TooltipCombinedProps & React__default.RefAttributes<HTMLDivElement>>;
1019
+
1020
+ /**
1021
+ * Copyright (c) 2024 Opal Kelly Incorporated
1022
+ *
1023
+ * This source code is licensed under the FrontPanel license.
1024
+ * See the LICENSE file found in the root directory of this project.
1025
+ */
1026
+
1027
+ /**
1028
+ * Interface for the properties of the `FrontPanelNumberEntry` component.
1029
+ *
1030
+ * @interface
1031
+ */
1032
+ interface FrontPanelNumberEntryProps {
1033
+ /**
1034
+ * Address of the frontpanel endpoint
1035
+ */
1036
+ fpEndpoint: EndpointAddressProps;
1037
+ /**
1038
+ * Maximum value that the number entry will allow.
1039
+ */
1040
+ maximumValue: bigint;
1041
+ /**
1042
+ * Optional minimum value that the number entry will allow.
1043
+ */
1044
+ minimumValue?: bigint;
1045
+ }
1046
+
1047
+ /**
1048
+ * Copyright (c) 2024 Opal Kelly Incorporated
1049
+ *
1050
+ * This source code is licensed under the FrontPanel license.
1051
+ * See the LICENSE file found in the root directory of this project.
1052
+ */
1053
+
1054
+ interface FrontPanelNumberEntryCombinedProps extends Omit<React__default.ComponentPropsWithoutRef<typeof NumberEntry>, "value" | "maximumValue" | "minimumValue" | "onValueChange">, FrontPanelNumberEntryProps {
1055
+ }
1056
+
1057
+ /**
1058
+ * `FrontPanelNumberEntry` is a React component that renders a number entry field to allow setting the value of a WireIn endpoint
1059
+ * represented in binary, octal, decimal, or hexadecimal numeral systems. The values of the individual digits of the number can
1060
+ * be entered by key or they can be incremented and decremented using the up and down arrow keys and or the mouse wheel.
1061
+ *
1062
+ * @component
1063
+ * @param {Object} props - Properties passed to component
1064
+ * @param {React.Ref} forwardedRef - Forwarded ref for the number display
1065
+ *
1066
+ * @returns {React.Node} The rendered FrontPanelNumberDisplay component
1067
+ *
1068
+ * @example
1069
+ * ```jsx
1070
+ * <FrontPanelNumberEntry
1071
+ * fpEndpoint={{epAddress: 0x00, bitOffset: 1}}
1072
+ * maximumValue=0xffffffff />
1073
+ * ```
1074
+ */
1075
+ declare const FrontPanelNumberEntry: React__default.ForwardRefExoticComponent<FrontPanelNumberEntryCombinedProps & React__default.RefAttributes<HTMLDivElement>>;
1076
+
1077
+ /**
1078
+ * Copyright (c) 2024 Opal Kelly Incorporated
1079
+ *
1080
+ * This source code is licensed under the FrontPanel license.
1081
+ * See the LICENSE file found in the root directory of this project.
1082
+ */
1083
+
1084
+ /**
1085
+ * Interface for the properties of the `FrontPanelNumberDisplay` component.
1086
+ *
1087
+ * @interface
1088
+ */
1089
+ interface FrontPanelNumberDisplayProps {
1090
+ /**
1091
+ * Address of the frontpanel endpoint
1092
+ */
1093
+ fpEndpoint: EndpointAddressProps;
1094
+ /**
1095
+ * Maximum value that the number display will allow
1096
+ */
1097
+ maximumValue: bigint;
1098
+ }
1099
+
1100
+ /**
1101
+ * Copyright (c) 2024 Opal Kelly Incorporated
1102
+ *
1103
+ * This source code is licensed under the FrontPanel license.
1104
+ * See the LICENSE file found in the root directory of this project.
1105
+ */
1106
+
1107
+ interface FrontPanelNumberDisplayCombinedProps extends Omit<React__default.ComponentPropsWithoutRef<typeof NumberDisplay>, "value" | "maximumValue" | "minimumValue">, FrontPanelNumberDisplayProps {
1108
+ }
1109
+
1110
+ /**
1111
+ * `FrontPanelNumberDisplay` is a React component that renders a number display to represent the value of a WireOut endpoint using
1112
+ * binary, octal, decimal, or hexadecimal numeral systems. It also allows to optionally set the decimal scale of the number when
1113
+ * using the decimal numeral system.
1114
+ *
1115
+ * @component
1116
+ * @param {object} props - Properties passed to component
1117
+ * @param {React.Ref} forwardedRef - Forwarded ref for the number display
1118
+ *
1119
+ * @returns {React.Node} The rendered FrontPanelNumberDisplay component
1120
+ *
1121
+ * @example
1122
+ * ```jsx
1123
+ * <FrontPanelNumberDisplay
1124
+ * fpEndpoint={{epAddress: 0x20, bitOffset: 1}}
1125
+ * maximumValue=0xffffffff />
1126
+ * ```
1127
+ */
1128
+ declare const FrontPanelNumberDisplay: React__default.ForwardRefExoticComponent<FrontPanelNumberDisplayCombinedProps & React__default.RefAttributes<HTMLDivElement>>;
1129
+
1130
+ /**
1131
+ * Copyright (c) 2024 Opal Kelly Incorporated
1132
+ *
1133
+ * This source code is licensed under the FrontPanel license.
1134
+ * See the LICENSE file found in the root directory of this project.
1135
+ */
1136
+
1137
+ /**
1138
+ * Interface for the properties of the `FrontPanelIndicator` component.
1139
+ */
1140
+ interface FrontPanelIndicatorProps {
1141
+ /**
1142
+ * Address of the frontpanel endpoint
1143
+ */
1144
+ fpEndpoint: EndpointAddressProps;
1145
+ }
1146
+
1147
+ /**
1148
+ * Copyright (c) 2024 Opal Kelly Incorporated
1149
+ *
1150
+ * This source code is licensed under the FrontPanel license.
1151
+ * See the LICENSE file found in the root directory of this project.
1152
+ */
1153
+
1154
+ interface FrontPanelIndicatorCombinedProps extends Omit<React__default.ComponentPropsWithoutRef<typeof Indicator>, "state">, FrontPanelIndicatorProps {
1155
+ }
1156
+
1157
+ /**
1158
+ * `FrontPanelIndicator` is a React component that renders an indicator that represents the state of a WireOut endpoint.
1159
+ *
1160
+ * @component
1161
+ * @param {object} props - Properties passed to component
1162
+ * @param {React.Ref} forwardedRef - Forwarded ref for the indicator
1163
+ *
1164
+ * @returns {React.Node} The rendered FrontPanelIndicator component
1165
+ *
1166
+ * @example
1167
+ * ```jsx
1168
+ * <FrontPanelIndicator
1169
+ * label="Indicator"
1170
+ * fpEndpoint={{epAddress: 0x20, bitOffset: 1}} />
1171
+ * ```
1172
+ */
1173
+ declare const FrontPanelIndicator: React__default.ForwardRefExoticComponent<FrontPanelIndicatorCombinedProps & React__default.RefAttributes<HTMLSpanElement>>;
1174
+
1175
+ /**
1176
+ * Copyright (c) 2024 Opal Kelly Incorporated
1177
+ *
1178
+ * This source code is licensed under the FrontPanel license.
1179
+ * See the LICENSE file found in the root directory of this project.
1180
+ */
1181
+
1182
+ /**
1183
+ * Interface for the properties of the `FrontPanelToggleButton` component.
1184
+ */
1185
+ interface FrontPanelPushButtonProps {
1186
+ /**
1187
+ * Address of the frontpanel endpoint
1188
+ */
1189
+ fpEndpoint: EndpointAddressProps;
1190
+ }
1191
+
1192
+ /**
1193
+ * Copyright (c) 2024 Opal Kelly Incorporated
1194
+ *
1195
+ * This source code is licensed under the FrontPanel license.
1196
+ * See the LICENSE file found in the root directory of this project.
1197
+ */
1198
+
1199
+ interface FrontPanelPushButtonCombinedProps extends Omit<React__default.ComponentPropsWithoutRef<typeof Button>, "asChild" | "onButtonClick" | "onButtonDown" | "onButtonUp">, FrontPanelPushButtonProps {
1200
+ }
1201
+
1202
+ /**
1203
+ * `FrontPanelPushButton` is a React component that renders a push button that asserts a WireIn endpoint
1204
+ * when pressed and deasserts it when released.
1205
+ *
1206
+ * @component
1207
+ * @param {object} props - Properties passed to component
1208
+ * @param {React.Ref} forwardedRef - Forwarded ref for the button
1209
+ *
1210
+ * @returns {React.Node} The rendered FrontPanelPushButton component
1211
+ *
1212
+ * @example
1213
+ * ```jsx
1214
+ * <FrontPanelPushButton
1215
+ * label="Pushbutton"
1216
+ * fpEndpoint={{epAddress: 0x00, bitOffset: 1}} />
1217
+ * ```
1218
+ */
1219
+ declare const FrontPanelPushButton: React__default.ForwardRefExoticComponent<FrontPanelPushButtonCombinedProps & React__default.RefAttributes<HTMLButtonElement>>;
1220
+
1221
+ /**
1222
+ * Copyright (c) 2024 Opal Kelly Incorporated
1223
+ *
1224
+ * This source code is licensed under the FrontPanel license.
1225
+ * See the LICENSE file found in the root directory of this project.
1226
+ */
1227
+
1228
+ /**
1229
+ * Interface for the properties of the `FrontPanelToggleSwitch` component.
1230
+ */
1231
+ interface FrontPanelToggleSwitchProps {
1232
+ /**
1233
+ * Address of the frontpanel endpoint
1234
+ */
1235
+ fpEndpoint: EndpointAddressProps;
1236
+ }
1237
+
1238
+ /**
1239
+ * Copyright (c) 2024 Opal Kelly Incorporated
1240
+ *
1241
+ * This source code is licensed under the FrontPanel license.
1242
+ * See the LICENSE file found in the root directory of this project.
1243
+ */
1244
+
1245
+ interface FrontPanelToggleSwitchCombinedProps extends Omit<React__default.ComponentPropsWithoutRef<typeof ToggleSwitch>, "state" | "onToggleStateChanged">, FrontPanelToggleSwitchProps {
1246
+ }
1247
+
1248
+ /**
1249
+ * `FrontPanelToggleSwitch` is a React component that renders a toggle switch with an optional label and or tooltip
1250
+ * to toggle the state of a WireIn endpoint.
1251
+ *
1252
+ * @component
1253
+ * @param {Object} props - The properties that define the `FrontPanelToggleSwitch` component.
1254
+ * @param {React.Ref<FrontPanelToggleSwitchElement>} forwardedRef - A ref that is forwarded to the `FrontPanelToggleSwitch` component.
1255
+ *
1256
+ * @returns {React.ReactElement} The `FrontPanelToggleSwitch` component.
1257
+ *
1258
+ * @example
1259
+ * ```jsx
1260
+ * <FrontPanelToggleSwitch
1261
+ * label="Toggle"
1262
+ * fpEndpoint={{epAddress: 0x00, bitOffset: 1}} />
1263
+ * ```
1264
+ */
1265
+ declare const FrontPanelToggleSwitch: React__default.ForwardRefExoticComponent<FrontPanelToggleSwitchCombinedProps & React__default.RefAttributes<HTMLButtonElement>>;
1266
+
1267
+ /**
1268
+ * Copyright (c) 2024 Opal Kelly Incorporated
1269
+ *
1270
+ * This source code is licensed under the FrontPanel license.
1271
+ * See the LICENSE file found in the root directory of this project.
1272
+ */
1273
+
1274
+ /**
1275
+ * Interface for the properties of the FrontPanelTriggerButton component.
1276
+ * This interface extends the properties of the TriggerButton component.
1277
+ */
1278
+ interface FrontPanelTriggerButtonProps {
1279
+ /**
1280
+ * Address of the frontpanel endpoint
1281
+ */
1282
+ fpEndpoint: EndpointAddressProps;
1283
+ }
1284
+
1285
+ /**
1286
+ * Copyright (c) 2024 Opal Kelly Incorporated
1287
+ *
1288
+ * This source code is licensed under the FrontPanel license.
1289
+ * See the LICENSE file found in the root directory of this project.
1290
+ */
1291
+
1292
+ interface FrontPanelTriggerButtonCombinedProps extends Omit<React__default.ComponentPropsWithoutRef<typeof Button>, "asChild" | "onButtonClick" | "onButtonDown" | "onButtonUp">, FrontPanelTriggerButtonProps {
1293
+ }
1294
+
1295
+ /**
1296
+ * `FrontPanelTriggerButton` is a React component that renders a trigger button that asserts a TriggerIn endpoint when
1297
+ * it is pressed.
1298
+ *
1299
+ * @component
1300
+ * @param {Object} props - Properties passed to component
1301
+ * @param {React.Ref<FrontPanelTriggerButtonElement>} forwardedRef - Forwarded ref for the button
1302
+ *
1303
+ * @returns {React.ReactElement} The rendered FrontPanelTriggerButton component
1304
+ *
1305
+ * @example
1306
+ * ```jsx
1307
+ * <FrontPanelTriggerButton
1308
+ * label="Trigger"
1309
+ * fpEndpoint={{epAddress: 0x00, bitOffset: 1}} />
1310
+ * ```
1311
+ */
1312
+ declare const FrontPanelTriggerButton: React__default.ForwardRefExoticComponent<FrontPanelTriggerButtonCombinedProps & React__default.RefAttributes<HTMLButtonElement>>;
1313
+
1314
+ /**
1315
+ * Copyright (c) 2024 Opal Kelly Incorporated
1316
+ *
1317
+ * This source code is licensed under the FrontPanel license.
1318
+ * See the LICENSE file found in the root directory of this project.
1319
+ */
1320
+
1321
+ /**
1322
+ * Interface for the properties of the `FrontPanelRangeSlider` component.
1323
+ */
1324
+ interface FrontPanelRangeSliderProps {
1325
+ /**
1326
+ * Address of the frontpanel endpoint
1327
+ */
1328
+ fpEndpoint: EndpointAddressProps;
1329
+ /**
1330
+ * Maximum value that the range slider will allow
1331
+ */
1332
+ maximumValue: number;
1333
+ }
1334
+
1335
+ /**
1336
+ * Copyright (c) 2024 Opal Kelly Incorporated
1337
+ *
1338
+ * This source code is licensed under the FrontPanel license.
1339
+ * See the LICENSE file found in the root directory of this project.
1340
+ */
1341
+
1342
+ interface FrontPanelRangeSliderCombinedProps extends Omit<React__default.ComponentPropsWithoutRef<typeof RangeSlider>, "defaultValue" | "value" | "maximumValue" | "onValueChange" | "onValueCommit">, FrontPanelRangeSliderProps {
1343
+ }
1344
+
1345
+ /**
1346
+ * `FrontPanelRangeSlider` is a React component that renders a range slider to allow setting the value of a WireIn endpoint
1347
+ * within a specified range of values by clicking and dragging the slider thumb or by using the arrow keys.
1348
+ *
1349
+ * @component
1350
+ * @param {object} props - Properties passed to component
1351
+ * @param {React.Ref} forwardedRef - Forwarded ref for the range slider
1352
+ *
1353
+ * @returns {React.Node} The rendered FrontPanelRangeSlider component
1354
+ *
1355
+ * @example
1356
+ * ```jsx
1357
+ * <FrontPanelRangeSlider
1358
+ * fpEndpoint={{epAddress: 0x00, bitOffset: 1}}
1359
+ * maximumValue=0xff />
1360
+ * ```
1361
+ */
1362
+ declare const FrontPanelRangeSlider: React__default.ForwardRefExoticComponent<FrontPanelRangeSliderCombinedProps & React__default.RefAttributes<HTMLSpanElement>>;
1363
+
1364
+ /**
1365
+ * Copyright (c) 2024 Opal Kelly Incorporated
1366
+ *
1367
+ * This source code is licensed under the FrontPanel license.
1368
+ * See the LICENSE file found in the root directory of this project.
1369
+ */
1370
+
1371
+ /**
1372
+ * Interface for the properties of the `FrontPanelSelectEntryRoot` component.
1373
+ */
1374
+ interface FrontPanelSelectEntryRootProps {
1375
+ /**
1376
+ * Address of the frontpanel endpoint
1377
+ */
1378
+ fpEndpoint: EndpointAddressProps;
1379
+ /**
1380
+ * Maximum value that the select entry will allow
1381
+ */
1382
+ maximumValue: bigint;
1383
+ }
1384
+
1385
+ /**
1386
+ * Copyright (c) 2024 Opal Kelly Incorporated
1387
+ *
1388
+ * This source code is licensed under the FrontPanel license.
1389
+ * See the LICENSE file found in the root directory of this project.
1390
+ */
1391
+
1392
+ interface FrontPanelSelectEntryRootCombinedProps extends React__default.ComponentPropsWithoutRef<typeof SelectEntry.Root>, FrontPanelSelectEntryRootProps {
1393
+ }
1394
+
1395
+ /**
1396
+ * `FrontPanelSelectEntryRoot` is a React component that is the root component of a select entry that
1397
+ * allows setting a WireIn endpoint. The children of this component are used to specify the component
1398
+ * parts. The parts include the trigger that can be clicked on to show a list of options to select from,
1399
+ * and the content that is the list of options.
1400
+ *
1401
+ * @component
1402
+ * @param {object} props - Properties passed to component
1403
+ * @param {object} rootProps - Any additional properties to pass to the root component
1404
+ *
1405
+ * @returns {React.Node} The rendered FrontPanelSelectEntryRoot component
1406
+ *
1407
+ * @example
1408
+ * ```jsx
1409
+ * <FrontPanelSelectEntryRoot
1410
+ * fpEndpoint={{epAddress: 0x00, bitOffset: 1}}
1411
+ * maximumValue=2 />
1412
+ * <FrontPanelSelectEntry.Trigger />
1413
+ * <FrontPanelSelectEntry.Content>
1414
+ * <FrontPanelSelectEntry.Group>
1415
+ * <FrontPanelSelectEntry.Label>Options</FrontPanelSelectEntry.Label>
1416
+ * <FrontPanelSelectEntry.Item value="0">Option 0</FrontPanelSelectEntry.Option>
1417
+ * <FrontPanelSelectEntry.Item value="1">Option 1</FrontPanelSelectEntry.Option>
1418
+ * <FrontPanelSelectEntry.Item value="2">Option 2</FrontPanelSelectEntry.Option>
1419
+ * </FrontPanelSelectEntry.Group>
1420
+ * </FrontPanelSelectEntry.Content>
1421
+ * </FrontPanelSelectEntryRoot>
1422
+ * ```
1423
+ */
1424
+ declare const FrontPanelSelectEntryRoot: React__default.FC<FrontPanelSelectEntryRootCombinedProps>;
1425
+
1426
+ /**
1427
+ * Copyright (c) 2024 Opal Kelly Incorporated
1428
+ *
1429
+ * This source code is licensed under the FrontPanel license.
1430
+ * See the LICENSE file found in the root directory of this project.
1431
+ */
1432
+ declare const FrontPanelSelectEntry: {
1433
+ Root: React$1.FC<FrontPanelSelectEntryRootCombinedProps>;
1434
+ Trigger: React$1.ForwardRefExoticComponent<SelectEntryTriggerCombinedProps & React$1.RefAttributes<HTMLButtonElement>>;
1435
+ Content: React$1.ForwardRefExoticComponent<SelectContentCombinedProps & React$1.RefAttributes<HTMLDivElement>>;
1436
+ Item: React$1.ForwardRefExoticComponent<SelectEntryItemCombinedProps & React$1.RefAttributes<HTMLDivElement>>;
1437
+ Group: React$1.ForwardRefExoticComponent<SelectEntryGroupCombinedProps & React$1.RefAttributes<HTMLDivElement>>;
1438
+ Label: React$1.ForwardRefExoticComponent<SelectEntryLabelCombinedProps & React$1.RefAttributes<HTMLDivElement>>;
1439
+ Separator: React$1.ForwardRefExoticComponent<SelectEntrySeparatorCombinedProps & React$1.RefAttributes<HTMLDivElement>>;
1440
+ };
1441
+
1442
+ /**
1443
+ * Copyright (c) 2024 Opal Kelly Incorporated
1444
+ *
1445
+ * This source code is licensed under the FrontPanel license.
1446
+ * See the LICENSE file found in the root directory of this project.
1447
+ */
1448
+
1449
+ type FrontPanelContextValue = {
1450
+ device: IFrontPanel;
1451
+ workQueue: WorkQueue;
1452
+ eventSource?: IFrontPanelEventSource;
1453
+ };
1454
+ declare const FrontPanelContext: React__default.Context<FrontPanelContextValue>;
1455
+
1456
+ export { Application, Button, type ButtonClickEventHandler, type ButtonSize, type ButtonStateChangeEventHandler, CalculateBitLength, type EndpointAddressProps, FrontPanel, FrontPanelContext, type FrontPanelContextValue, FrontPanelIndicator, FrontPanelNumberDisplay, FrontPanelNumberEntry, FrontPanelPushButton, FrontPanelRangeSlider, FrontPanelSelectEntry, FrontPanelSelectEntryRoot, FrontPanelToggleSwitch, FrontPanelTriggerButton, Indicator, type IndicatorSize, type IndicatorState, Label, type LabelHorizontalPosition, type LabelVerticalPosition, NumberDisplay, type NumberDisplaySize, NumberEntry, type NumberEntrySize, type NumberEntryValueChangeEventHandler, NumeralSystem, NumericDigits, RangeSlider, SelectEntry, SelectEntryContent, SelectEntryGroup, SelectEntryItem, SelectEntryLabel, SelectEntryRoot, SelectEntrySeparator, type SelectEntrySize, SelectEntryTrigger, Toggle, type ToggleSize, ToggleState, type ToggleStateChangeEventHandler, ToggleSwitch, Tooltip };