@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.
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,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;
@@ -0,0 +1,77 @@
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 LabelProps from "../Label/Label.props";
8
+ export type RangeSliderValueChangeEventHandler = (value: number) => void;
9
+ export type RangeSliderValueCommitEventHandler = (value: number) => void;
10
+ /**
11
+ * Interface for the properties of the `RangeSlider` component.
12
+ *
13
+ * @interface
14
+ */
15
+ interface RangeSliderProps {
16
+ /**
17
+ * Optional CSS class to apply to the range
18
+ */
19
+ className?: string;
20
+ /**
21
+ * Optional label properties for the range slider
22
+ */
23
+ label?: LabelProps;
24
+ /**
25
+ * Optional tooltip text to be displayed on hover
26
+ */
27
+ tooltip?: string;
28
+ /**
29
+ * Optional default value of the range slider
30
+ */
31
+ defaultValue?: number;
32
+ /**
33
+ * Optional current value of the range slider
34
+ */
35
+ value?: number;
36
+ /**
37
+ * Optional step value for the range slider. This determines the increments in value for each step
38
+ * @default 1
39
+ */
40
+ valueStep?: number;
41
+ /**
42
+ * Optional minimum value that the range slider can have
43
+ * @default 0
44
+ */
45
+ minimumValue?: number;
46
+ /**
47
+ * Optional maximum value that the range slider can have
48
+ * @default 100
49
+ */
50
+ maximumValue?: number;
51
+ /**
52
+ * Optional disable the range slider
53
+ * @default false
54
+ */
55
+ disabled?: boolean;
56
+ /**
57
+ * Optional show the label for the thumb (handle) of the range slider
58
+ * @default true
59
+ */
60
+ showThumbLabel?: boolean;
61
+ /**
62
+ * Optional show the labels for the track of the range slider
63
+ * @default true
64
+ */
65
+ showTrackLabels?: boolean;
66
+ /**
67
+ * Optional event handler for the range slider value change event
68
+ * @type {RangeSliderValueChangeEventHandler}
69
+ */
70
+ onValueChange?: RangeSliderValueChangeEventHandler;
71
+ /**
72
+ * Optional event handler for the range slider value committed event
73
+ * @type {RangeSliderValueCommitEventHandler}
74
+ */
75
+ onValueCommit?: RangeSliderValueCommitEventHandler;
76
+ }
77
+ export default RangeSliderProps;
@@ -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 "./RangeSlider";
8
+ export { default as RangeSliderProps } from "./RangeSlider.props";
9
+ export { RangeSliderValueChangeEventHandler, RangeSliderValueCommitEventHandler } from "./RangeSlider.props";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright (c) 2024 Opal Kelly Incorporated
3
+ *
4
+ * This source code is licensed under the FrontPanel license.
5
+ * See the LICENSE file found in the root directory of this project.
6
+ */
7
+ /// <reference types="react" />
8
+ declare const SelectEntry: {
9
+ Root: import("react").FC<import("./SelectEntryRoot").SelectEntryRootCombinedProps>;
10
+ Trigger: import("react").ForwardRefExoticComponent<import("./SelectEntryTrigger").SelectEntryTriggerCombinedProps & import("react").RefAttributes<HTMLButtonElement>>;
11
+ Content: import("react").ForwardRefExoticComponent<import("./SelectEntryContent").SelectContentCombinedProps & import("react").RefAttributes<HTMLDivElement>>;
12
+ Item: import("react").ForwardRefExoticComponent<import("./SelectEntryItem").SelectEntryItemCombinedProps & import("react").RefAttributes<HTMLDivElement>>;
13
+ Group: import("react").ForwardRefExoticComponent<import("./SelectEntryGroup").SelectEntryGroupCombinedProps & import("react").RefAttributes<HTMLDivElement>>;
14
+ Label: import("react").ForwardRefExoticComponent<import("./SelectEntryLabel").SelectEntryLabelCombinedProps & import("react").RefAttributes<HTMLDivElement>>;
15
+ Separator: import("react").ForwardRefExoticComponent<import("./SelectEntrySeparator").SelectEntrySeparatorCombinedProps & import("react").RefAttributes<HTMLDivElement>>;
16
+ };
17
+ export default SelectEntry;