@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,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;
@@ -0,0 +1,16 @@
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 * as SelectPrimitive from "@radix-ui/react-select";
9
+ import "../../index.css";
10
+ import "./SelectEntryContent.css";
11
+ interface SelectContentCombinedProps extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> {
12
+ container?: React.ComponentProps<typeof SelectPrimitive.Portal>["container"];
13
+ }
14
+ export type { SelectContentCombinedProps };
15
+ declare const SelectEntryContent: React.ForwardRefExoticComponent<SelectContentCombinedProps & React.RefAttributes<HTMLDivElement>>;
16
+ export default SelectEntryContent;
@@ -0,0 +1,15 @@
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 * as SelectPrimitive from "@radix-ui/react-select";
9
+ import "../../index.css";
10
+ import "./SelectEntryGroup.css";
11
+ interface SelectEntryGroupCombinedProps extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Group> {
12
+ }
13
+ export type { SelectEntryGroupCombinedProps };
14
+ declare const SelectEntryGroup: React.ForwardRefExoticComponent<SelectEntryGroupCombinedProps & React.RefAttributes<HTMLDivElement>>;
15
+ export default SelectEntryGroup;
@@ -0,0 +1,15 @@
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 * as SelectPrimitive from "@radix-ui/react-select";
9
+ import "../../index.css";
10
+ import "./SelectEntryItem.css";
11
+ interface SelectEntryItemCombinedProps extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> {
12
+ }
13
+ export type { SelectEntryItemCombinedProps };
14
+ declare const SelectEntryItem: React.ForwardRefExoticComponent<SelectEntryItemCombinedProps & React.RefAttributes<HTMLDivElement>>;
15
+ export default SelectEntryItem;
@@ -0,0 +1,15 @@
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 * as SelectPrimitive from "@radix-ui/react-select";
9
+ import "../../index.css";
10
+ import "./SelectEntryLabel.css";
11
+ interface SelectEntryLabelCombinedProps extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label> {
12
+ }
13
+ export type { SelectEntryLabelCombinedProps };
14
+ declare const SelectEntryLabel: React.ForwardRefExoticComponent<SelectEntryLabelCombinedProps & React.RefAttributes<HTMLDivElement>>;
15
+ export default SelectEntryLabel;
@@ -0,0 +1,39 @@
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 * as SelectPrimitive from "@radix-ui/react-select";
9
+ import SelectEntryRootProps from "./SelectEntryRoot.props";
10
+ export declare const SelectEntryContext: React.Context<SelectEntryRootCombinedProps>;
11
+ interface SelectEntryRootCombinedProps extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Root>, SelectEntryRootProps {
12
+ }
13
+ export type { SelectEntryRootCombinedProps };
14
+ /**
15
+ * `SelectEntryRoot` is a React component that is the root component of a select entry. The children of this
16
+ * component are used to specify the component parts. The parts include the trigger that can be clicked on to
17
+ * show a list of options to select from, and the content that is the list of options.
18
+ *
19
+ * @component
20
+ * @param {object} props - Properties passed to component
21
+ *
22
+ * @returns {ReactNode} The rendered SelectEntryRoot component
23
+ *
24
+ * @example
25
+ * ```jsx
26
+ * <SelectEntryRoot>
27
+ * <SelectEntry.Trigger />
28
+ * <SelectEntry.Content>
29
+ * <SelectEntry.Group>
30
+ * <SelectEntry.Label>Options</SelectEntry.Label>
31
+ * <SelectEntry.Item value="0">Option 0</SelectEntry.Item>
32
+ * <SelectEntry.Item value="1">Option 1</SelectEntry.Item>
33
+ * </SelectEntry.Group>
34
+ * </SelectEntry.Content>
35
+ * </SelectEntryRoot>
36
+ * ```
37
+ */
38
+ declare const SelectEntryRoot: React.FC<SelectEntryRootCombinedProps>;
39
+ export default SelectEntryRoot;
@@ -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 LabelProps from "../Label/Label.props";
8
+ export type SelectEntrySize = 1 | 2 | 3;
9
+ /**
10
+ * Interface for the properties of the `SelectEntryRoot` component.
11
+ */
12
+ interface SelectEntryRootProps {
13
+ /**
14
+ * Optional CSS class to apply to the select entry root
15
+ */
16
+ className?: string;
17
+ /**
18
+ * Optional label properties for the select entry root
19
+ */
20
+ label?: LabelProps;
21
+ /**
22
+ * Optional size of the select entry root
23
+ * @default 1
24
+ */
25
+ size?: SelectEntrySize;
26
+ /**
27
+ * Optional tooltip text to be displayed on hover
28
+ */
29
+ tooltip?: string;
30
+ }
31
+ export default SelectEntryRootProps;
@@ -0,0 +1,15 @@
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 * as SelectPrimitive from "@radix-ui/react-select";
9
+ import "../../index.css";
10
+ import "./SelectEntrySeparator.css";
11
+ interface SelectEntrySeparatorCombinedProps extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator> {
12
+ }
13
+ export type { SelectEntrySeparatorCombinedProps };
14
+ declare const SelectEntrySeparator: React.ForwardRefExoticComponent<SelectEntrySeparatorCombinedProps & React.RefAttributes<HTMLDivElement>>;
15
+ export default SelectEntrySeparator;
@@ -0,0 +1,16 @@
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 * as SelectPrimitive from "@radix-ui/react-select";
9
+ import SelectEntryTriggerProps from "./SelectEntryTrigger.props";
10
+ import "../../index.css";
11
+ import "./SelectEntryTrigger.css";
12
+ interface SelectEntryTriggerCombinedProps extends Omit<React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>, "asChild">, SelectEntryTriggerProps {
13
+ }
14
+ export type { SelectEntryTriggerCombinedProps };
15
+ declare const SelectEntryTrigger: React.ForwardRefExoticComponent<SelectEntryTriggerCombinedProps & React.RefAttributes<HTMLButtonElement>>;
16
+ export default SelectEntryTrigger;
@@ -0,0 +1,16 @@
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
+ /**
8
+ * Interface for the properties of the `SelectEntryTrigger` component.
9
+ */
10
+ interface SelectEntryTriggerProps {
11
+ /**
12
+ * Optional placeholder text to be displayed when no value is selected
13
+ */
14
+ placeholder?: string;
15
+ }
16
+ export default SelectEntryTriggerProps;
@@ -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
+ export { default } from "./SelectEntry";
8
+ export { default as SelectEntryRoot } from "./SelectEntryRoot";
9
+ export { default as SelectEntryTrigger } from "./SelectEntryTrigger";
10
+ export { default as SelectEntryContent } from "./SelectEntryContent";
11
+ export { default as SelectEntryItem } from "./SelectEntryItem";
12
+ export { default as SelectEntryGroup } from "./SelectEntryGroup";
13
+ export { default as SelectEntryLabel } from "./SelectEntryLabel";
14
+ export { default as SelectEntrySeparator } from "./SelectEntrySeparator";
15
+ export { default as SelectEntryRootProps } from "./SelectEntryRoot.props";
16
+ export { SelectEntrySize } from "./SelectEntryRoot.props";
17
+ export { default as SelectEntryTriggerProps } from "./SelectEntryTrigger.props";
@@ -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
+ import React from "react";
8
+ import ToggleProps from "./Toggle.props";
9
+ import "../../index.css";
10
+ import "./Toggle.css";
11
+ interface ToggleCombinedProps extends React.ComponentPropsWithoutRef<"button">, ToggleProps {
12
+ }
13
+ export type { ToggleCombinedProps };
14
+ /**
15
+ * `Toggle` is a React component that renders a toggle button to toggle between an "on" and "off"
16
+ * state when the button is clicked. Notification of the state transtion is provided through the
17
+ * `onToggleStateChanged` event handler.
18
+ *
19
+ * @component
20
+ * @param {Object} props - The properties that define the `Toggle` component.
21
+ * @param {React.Ref<ToggleElement>} forwardedRef - A ref that is forwarded to the `Toggle` component.
22
+ *
23
+ * @returns {React.ReactElement} The `Toggle` component.
24
+ *
25
+ * @example
26
+ * ```jsx
27
+ * <Toggle
28
+ * state={ToggleState.On}
29
+ * onToggleStateChanged={(newState) => console.log(newState)}>
30
+ * <span>Toggle<span>
31
+ * </Toggle>
32
+ * ```
33
+ */
34
+ declare const Toggle: React.ForwardRefExoticComponent<ToggleCombinedProps & React.RefAttributes<HTMLButtonElement>>;
35
+ export default Toggle;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright (c) 2024 Opal Kelly Incorporated
3
+ *
4
+ * This source code is licensed under the FrontPanel license.
5
+ * See the LICENSE file found in the root directory of this project.
6
+ */
7
+ /// <reference types="react" />
8
+ import { ToggleState } from "../../core";
9
+ export type ToggleSize = 1 | 2 | 3;
10
+ export type ToggleStateChangeEventHandler = (state: ToggleState) => void;
11
+ /**
12
+ * Interface for the properties of the `Toggle` component.
13
+ */
14
+ interface ToggleProps extends React.PropsWithChildren<NonNullable<unknown>> {
15
+ /**
16
+ * Current state of the toggle, defined in ToggleState
17
+ */
18
+ state: ToggleState;
19
+ /**
20
+ * Optional CSS class to apply to the toggle
21
+ */
22
+ className?: string;
23
+ /**
24
+ * Optional size of the toggle
25
+ * @default 1
26
+ */
27
+ size?: ToggleSize;
28
+ /**
29
+ * Optional tooltip text to be displayed on hover
30
+ */
31
+ tooltip?: string;
32
+ /**
33
+ * Optional event handler for the toggle state change event
34
+ */
35
+ onToggleStateChanged?: ToggleStateChangeEventHandler;
36
+ }
37
+ export default ToggleProps;
@@ -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 "./Toggle";
8
+ export { default as ToggleProps } from "./Toggle.props";
9
+ export { ToggleSize, ToggleStateChangeEventHandler } from "./Toggle.props";
@@ -0,0 +1,32 @@
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 ToggleSwitchProps from "./ToggleSwitch.props";
9
+ import "../../index.css";
10
+ import "./ToggleSwitch.css";
11
+ /**
12
+ * `ToggleSwitch` is a React component that renders a toggle switch with a label and a switch button
13
+ * that represents the current toggle state. When the switch is clicked, the toggle
14
+ * state will transition to the next state. Notification of the state transtion is provided through the
15
+ * `onToggleStateChanged` event handler.
16
+ *
17
+ * @component
18
+ * @param {Object} props - Properties passed to component
19
+ * @param {React.Ref<ToggleSwitchElement>} forwardedRef - Forwarded ref for the button
20
+ *
21
+ * @returns {React.ReactElement} The rendered ToggleSwitch component
22
+ *
23
+ * @example
24
+ * ```jsx
25
+ * <ToggleSwitch
26
+ * label="Toggle"
27
+ * state={ToggleState.On}
28
+ * onToggleStateChanged={(newState) => console.log(newState)} />
29
+ * ```
30
+ */
31
+ declare const ToggleSwitch: React.ForwardRefExoticComponent<ToggleSwitchProps & React.RefAttributes<HTMLButtonElement>>;
32
+ export default ToggleSwitch;
@@ -0,0 +1,22 @@
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 ToggleProps from "../Toggle/Toggle.props";
8
+ /**
9
+ * Interface for the properties of the `ToggleSwitch` component.
10
+ */
11
+ interface ToggleSwitchProps extends ToggleProps {
12
+ /**
13
+ * Label to be displayed on the toggle switch
14
+ */
15
+ label: string;
16
+ /**
17
+ * Optional disable the toggle switch
18
+ * @default false
19
+ */
20
+ disabled?: boolean;
21
+ }
22
+ export default ToggleSwitchProps;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) 2024 Opal Kelly Incorporated
3
+ *
4
+ * This source code is licensed under the FrontPanel license.
5
+ * See the LICENSE file found in the root directory of this project.
6
+ */
7
+ export { default } from "./ToggleSwitch";
8
+ export { default as ToggleSwitchProps } from "./ToggleSwitch.props";
@@ -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
+ import React from "react";
8
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
9
+ import TooltipProps from "./Tooltip.props";
10
+ import "../../index.css";
11
+ import "./Tooltip.css";
12
+ interface TooltipCombinedProps extends React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root>, Omit<React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>, "content">, TooltipProps {
13
+ content: NonNullable<TooltipProps["content"]>;
14
+ container?: React.ComponentProps<typeof TooltipPrimitive.Portal>["container"];
15
+ }
16
+ export type { TooltipCombinedProps };
17
+ /**
18
+ * `Tooltip` is a React component that displays a popup with text when the mouse cursor hovers
19
+ * over the child component.
20
+ *
21
+ * @component *
22
+ * @param {object} props - Properties passed to component
23
+ * @param {React.Ref} forwardedRef - Forwarded ref for the button
24
+ *
25
+ * @returns {ReactElement} The rendered Tooltip component
26
+ *
27
+ * @example
28
+ * ```jsx
29
+ * <Tooltip content="Tooltip text">
30
+ * <button>Hover over me</button>
31
+ * </Tooltip>
32
+ * ```
33
+ */
34
+ declare const Tooltip: React.ForwardRefExoticComponent<TooltipCombinedProps & React.RefAttributes<HTMLDivElement>>;
35
+ export default Tooltip;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright (c) 2024 Opal Kelly Incorporated
3
+ *
4
+ * This source code is licensed under the FrontPanel license.
5
+ * See the LICENSE file found in the root directory of this project.
6
+ */
7
+ import { ReactNode } from "react";
8
+ /**
9
+ * Interface for the properties of the `Tooltip` component.
10
+ */
11
+ interface TooltipProps extends React.PropsWithChildren<NonNullable<unknown>> {
12
+ /**
13
+ * Content to be displayed within the tooltip
14
+ */
15
+ content: ReactNode;
16
+ }
17
+ export default TooltipProps;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) 2024 Opal Kelly Incorporated
3
+ *
4
+ * This source code is licensed under the FrontPanel license.
5
+ * See the LICENSE file found in the root directory of this project.
6
+ */
7
+ export { default } from "./Tooltip";
8
+ export { default as TooltipProps } from "./Tooltip.props";
@@ -0,0 +1,12 @@
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, { ReactNode } from "react";
8
+ interface TooltipProps {
9
+ tooltip?: string;
10
+ }
11
+ export declare function withTooltip<T extends TooltipProps>(targetComponent: ReactNode): (props: T) => string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
12
+ export {};
@@ -0,0 +1,24 @@
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 as Application } from "./Application";
8
+ export { default as Button } from "./Button";
9
+ export { ButtonSize, ButtonStateChangeEventHandler, ButtonClickEventHandler } from "./Button";
10
+ export { default as Indicator } from "./Indicator";
11
+ export { IndicatorSize, IndicatorState } from "./Indicator";
12
+ export { default as Label } from "./Label";
13
+ export { LabelHorizontalPosition, LabelVerticalPosition } from "./Label";
14
+ export { default as NumberDisplay } from "./NumberDisplay";
15
+ export { NumberDisplaySize } from "./NumberDisplay";
16
+ export { default as NumberEntry } from "./NumberEntry";
17
+ export { NumberEntrySize, NumberEntryValueChangeEventHandler } from "./NumberEntry";
18
+ export { default as RangeSlider } from "./RangeSlider";
19
+ export { default as SelectEntry, SelectEntryRoot, SelectEntryTrigger, SelectEntryContent, SelectEntryItem, SelectEntryGroup, SelectEntryLabel, SelectEntrySeparator } from "./SelectEntry";
20
+ export { SelectEntrySize } from "./SelectEntry";
21
+ export { default as Toggle } from "./Toggle";
22
+ export { ToggleSize, ToggleStateChangeEventHandler } from "./Toggle";
23
+ export { default as ToggleSwitch } from "./ToggleSwitch";
24
+ export { default as Tooltip } from "./Tooltip";