@rainbow-robotics/muscat-plugin-kit 0.1.2-dev.9 → 0.10.1-dev.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 (274) hide show
  1. package/README.ko.md +1186 -0
  2. package/README.md +1137 -57
  3. package/cli/README.md +239 -7
  4. package/cli/bin/create-muscat-plugin.mjs +1 -1
  5. package/cli/bin/muscat-pk.mjs +123 -27
  6. package/cli/bundle-templates.mjs +31 -0
  7. package/cli/docker/Dockerfile.cpp +28 -0
  8. package/cli/docker/Dockerfile.dev +17 -0
  9. package/cli/docker/Dockerfile.python +21 -0
  10. package/cli/prepack.mjs +10 -0
  11. package/cli/src/__pycache__/host_agent.cpython-37.pyc +0 -0
  12. package/cli/src/ai-rules.mjs +107 -0
  13. package/cli/src/build.mjs +333 -93
  14. package/cli/src/check-package.mjs +8 -23
  15. package/cli/src/completion.mjs +168 -0
  16. package/cli/src/cpp.mjs +78 -0
  17. package/cli/src/cppIde.mjs +76 -0
  18. package/cli/src/dev.mjs +195 -6
  19. package/cli/src/devBack.mjs +671 -60
  20. package/cli/src/devId.mjs +54 -0
  21. package/cli/src/devSession.mjs +67 -0
  22. package/cli/src/devUi.mjs +214 -25
  23. package/cli/src/esbuild.mjs +27 -10
  24. package/cli/src/host_agent.py +223 -0
  25. package/cli/src/manifest.mjs +288 -0
  26. package/cli/src/mcp.mjs +1153 -0
  27. package/cli/src/mcpProxy.mjs +110 -0
  28. package/cli/src/muscatLocal.mjs +292 -0
  29. package/cli/src/new.mjs +205 -68
  30. package/cli/src/pluginDevServer.mjs +111 -0
  31. package/cli/src/ports.mjs +193 -0
  32. package/cli/src/projectCheck.mjs +102 -0
  33. package/cli/src/python.mjs +112 -0
  34. package/cli/src/ros2.mjs +62 -18
  35. package/cli/src/sdk.mjs +74 -24
  36. package/cli/src/sim.mjs +177 -0
  37. package/cli/src/storybook.mjs +150 -0
  38. package/cli/src/templates-embedded.mjs +4 -0
  39. package/cli/src/type.mjs +93 -34
  40. package/cli/src/uninstall.mjs +81 -0
  41. package/cli/src/update.mjs +364 -35
  42. package/cli/src/util.mjs +341 -11
  43. package/cli/src/zenohDev.mjs +83 -0
  44. package/cli/src/zip.mjs +121 -0
  45. package/cli/storybook-dist/_design-tokens.css +4957 -0
  46. package/cli/storybook-dist/_stories-src/NxAvatar.stories.tsx +27 -0
  47. package/cli/storybook-dist/_stories-src/NxPagination.stories.tsx +28 -0
  48. package/cli/storybook-dist/_stories-src/RBAccordion/RBAccordion.stories.tsx +46 -0
  49. package/cli/storybook-dist/_stories-src/RBAccordion/RBAccordionGroup.stories.tsx +73 -0
  50. package/cli/storybook-dist/_stories-src/RBBadge/RBBadge.stories.tsx +93 -0
  51. package/cli/storybook-dist/_stories-src/RBBattery/RBBattery.stories.tsx +74 -0
  52. package/cli/storybook-dist/_stories-src/RBButton/RBCheckIconButton.stories.tsx +28 -0
  53. package/cli/storybook-dist/_stories-src/RBButton/RBCheckLabelButton.stories.tsx +84 -0
  54. package/cli/storybook-dist/_stories-src/RBButton/RBIconButton.stories.tsx +57 -0
  55. package/cli/storybook-dist/_stories-src/RBButton/RBInlineLabelButton.stories.tsx +41 -0
  56. package/cli/storybook-dist/_stories-src/RBButton/RBLabelButton.stories.tsx +60 -0
  57. package/cli/storybook-dist/_stories-src/RBDatePicker/RBDateInput.stories.tsx +44 -0
  58. package/cli/storybook-dist/_stories-src/RBDatePicker/RBRangeDateInput.stories.tsx +56 -0
  59. package/cli/storybook-dist/_stories-src/RBDialog/RBAlert.stories.tsx +51 -0
  60. package/cli/storybook-dist/_stories-src/RBDialog/RBConfirm.stories.tsx +55 -0
  61. package/cli/storybook-dist/_stories-src/RBDialog/RBPrompt.stories.tsx +52 -0
  62. package/cli/storybook-dist/_stories-src/RBDivider/RBDivider.stories.tsx +93 -0
  63. package/cli/storybook-dist/_stories-src/RBEmptyView/RBEmptyView.stories.tsx +49 -0
  64. package/cli/storybook-dist/_stories-src/RBIcons/RBColorIcons.stories.tsx +108 -0
  65. package/cli/storybook-dist/_stories-src/RBIcons/RBIcons.stories.tsx +106 -0
  66. package/cli/storybook-dist/_stories-src/RBInput/RBCheckBox.stories.tsx +89 -0
  67. package/cli/storybook-dist/_stories-src/RBInput/RBMultiRangeInput.stories.tsx +64 -0
  68. package/cli/storybook-dist/_stories-src/RBInput/RBRadioBox.stories.tsx +65 -0
  69. package/cli/storybook-dist/_stories-src/RBInput/RBRadioButton.stories.tsx +68 -0
  70. package/cli/storybook-dist/_stories-src/RBInput/RBSelectBox.stories.tsx +216 -0
  71. package/cli/storybook-dist/_stories-src/RBInput/RBSideNumberInput.stories.tsx +90 -0
  72. package/cli/storybook-dist/_stories-src/RBInput/RBText/RBTextArea.stories.tsx +45 -0
  73. package/cli/storybook-dist/_stories-src/RBInput/RBText/RBTextInput.stories.tsx +50 -0
  74. package/cli/storybook-dist/_stories-src/RBInput/RBTextField.stories.tsx +102 -0
  75. package/cli/storybook-dist/_stories-src/RBJoyStick/RBJoyStick.stories.tsx +31 -0
  76. package/cli/storybook-dist/_stories-src/RBLight/RBLight.stories.tsx +36 -0
  77. package/cli/storybook-dist/_stories-src/RBPagination/RBPagination.stories.tsx +49 -0
  78. package/cli/storybook-dist/_stories-src/RBShadcn/RBCard/RBCard.stories.tsx +89 -0
  79. package/cli/storybook-dist/_stories-src/RBShadcn/RBCommand/RBCommand.stories.tsx +116 -0
  80. package/cli/storybook-dist/_stories-src/RBShadcn/RBDialog/RBDialog.stories.tsx +74 -0
  81. package/cli/storybook-dist/_stories-src/RBShadcn/RBDrawer/RBDrawer.stories.tsx +99 -0
  82. package/cli/storybook-dist/_stories-src/RBShadcn/RBDropdownMenu/RBDropdownMenu.stories.tsx +123 -0
  83. package/cli/storybook-dist/_stories-src/RBShadcn/RBMenubar/RBMenubar.stories.tsx +135 -0
  84. package/cli/storybook-dist/_stories-src/RBShadcn/RBPopover/RBPopover.stories.tsx +69 -0
  85. package/cli/storybook-dist/_stories-src/RBShadcn/RBResizable/RBResizable.stories.tsx +49 -0
  86. package/cli/storybook-dist/_stories-src/RBShadcn/RBSheet/RBSheet.stories.tsx +91 -0
  87. package/cli/storybook-dist/_stories-src/RBShadcn/RBSlider/RBSlider.stories.tsx +38 -0
  88. package/cli/storybook-dist/_stories-src/RBShadcn/RBSwitch/RBSwitch.stories.tsx +112 -0
  89. package/cli/storybook-dist/_stories-src/RBShadcn/RBTabs/RBTabs.stories.tsx +75 -0
  90. package/cli/storybook-dist/_stories-src/RBShadcn/RBToggle/RBToggle.stories.tsx +51 -0
  91. package/cli/storybook-dist/_stories-src/RBShadcn/RBToggleGroup/RBToggleGroup.stories.tsx +84 -0
  92. package/cli/storybook-dist/_stories-src/RBTab/RBChipTab.stories.tsx +102 -0
  93. package/cli/storybook-dist/_stories-src/RBTab/RBChipsBoxTab.stories.tsx +78 -0
  94. package/cli/storybook-dist/_stories-src/RBTab/RBTab.stories.tsx +57 -0
  95. package/cli/storybook-dist/_stories-src/RBTable/RBTable.stories.tsx +177 -0
  96. package/cli/storybook-dist/_stories-src/RBTable/RBTableRow.stories.tsx +64 -0
  97. package/cli/storybook-dist/_stories-src/RBToast/RBToast.stories.tsx +117 -0
  98. package/cli/storybook-dist/_stories-src/RBTooltip/RBTooltip.stories.tsx +50 -0
  99. package/cli/storybook-dist/_stories-src/loading/RBSpinner.stories.tsx +30 -0
  100. package/cli/storybook-dist/_stories-src/nx-button/NxButton.stories.tsx +54 -0
  101. package/cli/storybook-dist/_stories-src/nx-button/NxPointerHoldButton.stories.tsx +57 -0
  102. package/cli/storybook-dist/_stories-src/nx-icons/NxIcons.stories.tsx +48 -0
  103. package/cli/storybook-dist/_stories-src/nx-inputs/NxNumberInput.stories.tsx +103 -0
  104. package/cli/storybook-dist/_stories-src/nx-inputs/NxRangeInput.stories.tsx +27 -0
  105. package/cli/storybook-dist/_stories-src/nx-inputs/NxSelectBox.stories.tsx +67 -0
  106. package/cli/storybook-dist/_stories-src/nx-inputs/NxSlideRange.stories.tsx +45 -0
  107. package/cli/storybook-dist/_stories-src/nx-inputs/NxSwitch.stories.tsx +27 -0
  108. package/cli/storybook-dist/_stories-src/nx-inputs/NxTextArea.stories.tsx +48 -0
  109. package/cli/storybook-dist/_stories-src/nx-inputs/NxTextInput.stories.tsx +46 -0
  110. package/cli/storybook-dist/assets/Color-YHDXOIA2-pCKrjUal.js +1 -0
  111. package/cli/storybook-dist/assets/Docs-B-Y7I1GA.js +7 -0
  112. package/cli/storybook-dist/assets/Docs-BFJcE_VS.js +8 -0
  113. package/cli/storybook-dist/assets/Docs-B_QaTtz8.js +8 -0
  114. package/cli/storybook-dist/assets/Docs-CryDGmfh.js +20 -0
  115. package/cli/storybook-dist/assets/Docs-Cw2AVNKx.js +7 -0
  116. package/cli/storybook-dist/assets/Docs-Q6r1fBeL.js +12 -0
  117. package/cli/storybook-dist/assets/DocsRenderer-CFRXHY34-_OmZBCn8.js +2 -0
  118. package/cli/storybook-dist/assets/NxAvatar.stories-Ctf5G2FQ.js +13 -0
  119. package/cli/storybook-dist/assets/NxButton.stories-DeLObVSj.js +20 -0
  120. package/cli/storybook-dist/assets/NxIcons.stories-DeqrVzVs.js +3 -0
  121. package/cli/storybook-dist/assets/NxNumberInput.stories-LqoY0ed1.js +26 -0
  122. package/cli/storybook-dist/assets/NxPagination.stories-DI6bXuJM.js +11 -0
  123. package/cli/storybook-dist/assets/NxPointerHoldButton.stories-3HSV1XmN.js +14 -0
  124. package/cli/storybook-dist/assets/NxRangeInput.stories-1pjgQVaG.js +17 -0
  125. package/cli/storybook-dist/assets/NxSelectBox.stories-bcQPZEuF.js +17 -0
  126. package/cli/storybook-dist/assets/NxSlideRange.stories-BosX4axk.js +14 -0
  127. package/cli/storybook-dist/assets/NxSwitch.stories-DxV6dS33.js +11 -0
  128. package/cli/storybook-dist/assets/NxTextArea.stories-CO545-LP.js +11 -0
  129. package/cli/storybook-dist/assets/NxTextInput.stories-BP0npai1.js +11 -0
  130. package/cli/storybook-dist/assets/PretendardVariable-CJuje-Rk.woff2 +0 -0
  131. package/cli/storybook-dist/assets/RBAccordion.stories-fVR4Va2a.js +17 -0
  132. package/cli/storybook-dist/assets/RBAccordionGroup.stories-Du5bsckD.js +33 -0
  133. package/cli/storybook-dist/assets/RBAlert.stories-DNkMXUu6.js +17 -0
  134. package/cli/storybook-dist/assets/RBBadge.stories-C44pXt8D.js +1 -0
  135. package/cli/storybook-dist/assets/RBBattery.stories-DE2JHvfL.js +10 -0
  136. package/cli/storybook-dist/assets/RBCard.stories-CuIda7NI.js +45 -0
  137. package/cli/storybook-dist/assets/RBCheckBox.stories-D1qM1ayr.js +1 -0
  138. package/cli/storybook-dist/assets/RBCheckIconButton.stories-e4gkliBO.js +1 -0
  139. package/cli/storybook-dist/assets/RBCheckLabelButton.stories-CDzCtsMI.js +24 -0
  140. package/cli/storybook-dist/assets/RBChipTab.stories-DBrc_3Mp.js +21 -0
  141. package/cli/storybook-dist/assets/RBChipsBoxTab.stories-hlrsHjKY.js +1 -0
  142. package/cli/storybook-dist/assets/RBColorIcons.stories-BHUvpkdu.js +3 -0
  143. package/cli/storybook-dist/assets/RBCommand.stories-azAF41NP.js +73 -0
  144. package/cli/storybook-dist/assets/RBConfirm.stories-BMNjwbmT.js +20 -0
  145. package/cli/storybook-dist/assets/RBDateInput.stories-D0VezDzv.js +15 -0
  146. package/cli/storybook-dist/assets/RBDialog.stories-AOJ975Fy.js +38 -0
  147. package/cli/storybook-dist/assets/RBDivider.stories-NSvnj43Z.js +1 -0
  148. package/cli/storybook-dist/assets/RBDrawer.stories-Du0oTvD1.js +14 -0
  149. package/cli/storybook-dist/assets/RBDropdownMenu.stories-Hsxve4PW.js +86 -0
  150. package/cli/storybook-dist/assets/RBEmptyView.stories-BlwHx3zp.js +12 -0
  151. package/cli/storybook-dist/assets/RBIconButton.stories-DAPDY63x.js +1 -0
  152. package/cli/storybook-dist/assets/RBIcons.stories-W5ZUV2L1.js +3 -0
  153. package/cli/storybook-dist/assets/RBInlineLabelButton.stories-C99j0Y3g.js +1 -0
  154. package/cli/storybook-dist/assets/RBJoyStick.stories-Du0H1iAS.js +11 -0
  155. package/cli/storybook-dist/assets/RBLabelButton.stories-BlvHaU_Z.js +1 -0
  156. package/cli/storybook-dist/assets/RBLight.stories-BY6DKrre.js +1 -0
  157. package/cli/storybook-dist/assets/RBMenubar.stories-D2PEGpM9.js +3 -0
  158. package/cli/storybook-dist/assets/RBMultiRangeInput.stories-Bm2qSmjq.js +14 -0
  159. package/cli/storybook-dist/assets/RBPagination.stories-DDleJa5N.js +17 -0
  160. package/cli/storybook-dist/assets/RBPopover.stories-27YxPSFG.js +11 -0
  161. package/cli/storybook-dist/assets/RBPrompt.stories-BFaIOctr.js +20 -0
  162. package/cli/storybook-dist/assets/RBRadioBox.stories-BroDar0t.js +1 -0
  163. package/cli/storybook-dist/assets/RBRadioButton.stories-M3O-wX7V.js +11 -0
  164. package/cli/storybook-dist/assets/RBRangeDateInput.stories-CWlM_D5X.js +15 -0
  165. package/cli/storybook-dist/assets/RBResizable.stories-ui8X1qnc.js +20 -0
  166. package/cli/storybook-dist/assets/RBSelectBox.stories-C8T6cfA0.js +74 -0
  167. package/cli/storybook-dist/assets/RBSheet.stories-BCOo_Zcc.js +39 -0
  168. package/cli/storybook-dist/assets/RBSideNumberInput.stories-CU2_MVlJ.js +5 -0
  169. package/cli/storybook-dist/assets/RBSlider.stories-DgOp1TFc.js +5 -0
  170. package/cli/storybook-dist/assets/RBSpinner.stories-qLScY3zZ.js +14 -0
  171. package/cli/storybook-dist/assets/RBSwitch.stories-SXSY1QMb.js +65 -0
  172. package/cli/storybook-dist/assets/RBTab.stories-BzXXTsXP.js +1 -0
  173. package/cli/storybook-dist/assets/RBTable.stories-DHTeRNVk.js +62 -0
  174. package/cli/storybook-dist/assets/RBTableRow.stories-DRNRsd15.js +11 -0
  175. package/cli/storybook-dist/assets/RBTabs.stories-DP0noBLp.js +21 -0
  176. package/cli/storybook-dist/assets/RBTextArea.stories-TkaejfxJ.js +5 -0
  177. package/cli/storybook-dist/assets/RBTextField.stories-B6VpCGyt.js +45 -0
  178. package/cli/storybook-dist/assets/RBTextInput.stories-D3hZ08e-.js +5 -0
  179. package/cli/storybook-dist/assets/RBToast.stories-BQ2wS2U0.js +11 -0
  180. package/cli/storybook-dist/assets/RBToggle.stories-GVOjGqo3.js +12 -0
  181. package/cli/storybook-dist/assets/RBToggleGroup.stories-pzx0btOD.js +17 -0
  182. package/cli/storybook-dist/assets/RBTooltip.stories-jufB6fa1.js +9 -0
  183. package/cli/storybook-dist/assets/SideNumberInput-BYlmNHEw.js +1109 -0
  184. package/cli/storybook-dist/assets/SideNumberInput-SAkhydsn.css +21 -0
  185. package/cli/storybook-dist/assets/browserUtils-CQM9Za7e.js +1 -0
  186. package/cli/storybook-dist/assets/chunk-XP5HYGXS-BHXC9YeQ.js +1 -0
  187. package/cli/storybook-dist/assets/client-DTf7SId2.js +1 -0
  188. package/cli/storybook-dist/assets/entry-preview-CAkU-e0D.js +2 -0
  189. package/cli/storybook-dist/assets/entry-preview-docs-b8bpVBXy.js +46 -0
  190. package/cli/storybook-dist/assets/iframe-B-BmTsxV.js +211 -0
  191. package/cli/storybook-dist/assets/index-B4FGfHer.js +1 -0
  192. package/cli/storybook-dist/assets/index-BRq5TIsn.js +24 -0
  193. package/cli/storybook-dist/assets/index-CT3U1fyk.js +1 -0
  194. package/cli/storybook-dist/assets/index-ChsGqxH_.js +9 -0
  195. package/cli/storybook-dist/assets/index-CkB0GfaI.js +575 -0
  196. package/cli/storybook-dist/assets/index-ClAc6FBW.js +240 -0
  197. package/cli/storybook-dist/assets/index-DKFBREX_.js +1 -0
  198. package/cli/storybook-dist/assets/index-DgH-xKnr.js +11 -0
  199. package/cli/storybook-dist/assets/index-Dmy2JGbm.js +1 -0
  200. package/cli/storybook-dist/assets/index-DrFu-skq.js +6 -0
  201. package/cli/storybook-dist/assets/jsx-runtime-BTJTZTIL.js +9 -0
  202. package/cli/storybook-dist/assets/preview-B8lJiyuQ.js +34 -0
  203. package/cli/storybook-dist/assets/preview-BBWR9nbA.js +1 -0
  204. package/cli/storybook-dist/assets/preview-BVJwlGUF.js +1 -0
  205. package/cli/storybook-dist/assets/preview-BWzBA1C2.js +396 -0
  206. package/cli/storybook-dist/assets/preview-CVgpLj3b.js +1 -0
  207. package/cli/storybook-dist/assets/preview-CvbIS5ZJ.js +1 -0
  208. package/cli/storybook-dist/assets/preview-CznQwwbo.js +3 -0
  209. package/cli/storybook-dist/assets/preview-DD_OYowb.js +1 -0
  210. package/cli/storybook-dist/assets/preview-DGUiP6tS.js +7 -0
  211. package/cli/storybook-dist/assets/preview-DHQbi4pV.js +1 -0
  212. package/cli/storybook-dist/assets/preview-M77JRg1A.js +2 -0
  213. package/cli/storybook-dist/assets/preview-kTZPgP6D.css +1 -0
  214. package/cli/storybook-dist/assets/react-18-hB3smqWJ.js +1 -0
  215. package/cli/storybook-dist/assets/react-resizable-panels-HsFbxPbn.css +1 -0
  216. package/cli/storybook-dist/assets/react-resizable-panels.browser-DuxpZLkF.js +120 -0
  217. package/cli/storybook-dist/assets/test-utils-BQudk2xt.js +9 -0
  218. package/cli/storybook-dist/favicon.svg +1 -0
  219. package/cli/storybook-dist/iframe.html +666 -0
  220. package/cli/storybook-dist/index.html +190 -0
  221. package/cli/storybook-dist/index.json +1 -0
  222. package/cli/storybook-dist/nunito-sans-bold-italic.woff2 +0 -0
  223. package/cli/storybook-dist/nunito-sans-bold.woff2 +0 -0
  224. package/cli/storybook-dist/nunito-sans-italic.woff2 +0 -0
  225. package/cli/storybook-dist/nunito-sans-regular.woff2 +0 -0
  226. package/cli/storybook-dist/project.json +1 -0
  227. package/cli/storybook-dist/sb-addons/chromatic-com-storybook-10/manager-bundle.js +331 -0
  228. package/cli/storybook-dist/sb-addons/chromatic-com-storybook-10/manager-bundle.js.LEGAL.txt +51 -0
  229. package/cli/storybook-dist/sb-addons/essentials-actions-3/manager-bundle.js +3 -0
  230. package/cli/storybook-dist/sb-addons/essentials-backgrounds-5/manager-bundle.js +12 -0
  231. package/cli/storybook-dist/sb-addons/essentials-controls-2/manager-bundle.js +405 -0
  232. package/cli/storybook-dist/sb-addons/essentials-docs-4/manager-bundle.js +245 -0
  233. package/cli/storybook-dist/sb-addons/essentials-measure-8/manager-bundle.js +3 -0
  234. package/cli/storybook-dist/sb-addons/essentials-outline-9/manager-bundle.js +3 -0
  235. package/cli/storybook-dist/sb-addons/essentials-toolbars-7/manager-bundle.js +3 -0
  236. package/cli/storybook-dist/sb-addons/essentials-viewport-6/manager-bundle.js +3 -0
  237. package/cli/storybook-dist/sb-addons/links-1/manager-bundle.js +3 -0
  238. package/cli/storybook-dist/sb-addons/storybook-13/manager-bundle.js +3 -0
  239. package/cli/storybook-dist/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +3 -0
  240. package/cli/storybook-dist/sb-addons/storybook-experimental-addon-test-12/manager-bundle.js +223 -0
  241. package/cli/storybook-dist/sb-addons/themes-11/manager-bundle.js +3 -0
  242. package/cli/storybook-dist/sb-common-assets/favicon.svg +1 -0
  243. package/cli/storybook-dist/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  244. package/cli/storybook-dist/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  245. package/cli/storybook-dist/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  246. package/cli/storybook-dist/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  247. package/cli/storybook-dist/sb-manager/globals-module-info.js +1052 -0
  248. package/cli/storybook-dist/sb-manager/globals-runtime.js +41775 -0
  249. package/cli/storybook-dist/sb-manager/globals.js +48 -0
  250. package/cli/storybook-dist/sb-manager/runtime.js +12048 -0
  251. package/cli/templates/common/README.md +1070 -83
  252. package/cli/templates/common/assets/icon.svg +44 -2
  253. package/cli/templates/common/manifest.json +14 -13
  254. package/cli/templates/common/package.json +11 -4
  255. package/cli/templates/common/py/main.py +125 -0
  256. package/cli/templates/common/requirements.txt +4 -3
  257. package/cli/templates/common/tsconfig.json +1 -1
  258. package/cli/templates/common/ui/content.tsx +216 -0
  259. package/cli/templates/common/ui/style.css +6 -0
  260. package/cli/templates/common/vite.config.ts +6 -25
  261. package/cli/templates/cpp/cpp/CMakeLists.txt +14 -0
  262. package/cli/templates/cpp/cpp/main.cpp +73 -0
  263. package/cli/templates/readme-cpp/README.md +1012 -0
  264. package/cli/templates/ros2/ros2_ws/src/__PLUGIN_SLUG__/__PLUGIN_SLUG__/node.py +12 -1
  265. package/cli/templates/ros2-cpp/ros2_ws/src/__PLUGIN_SLUG__/CMakeLists.txt +22 -0
  266. package/cli/templates/ros2-cpp/ros2_ws/src/__PLUGIN_SLUG__/package.xml +11 -0
  267. package/cli/templates/ros2-cpp/ros2_ws/src/__PLUGIN_SLUG__/src/node.cpp +41 -0
  268. package/cli/vite.d.mts +25 -0
  269. package/cli/vite.mjs +292 -0
  270. package/package.json +34 -7
  271. package/cli/src/pack.mjs +0 -61
  272. package/cli/src/preview.mjs +0 -91
  273. package/cli/templates/common/main.py +0 -114
  274. package/cli/templates/common/src/content.tsx +0 -33
@@ -0,0 +1,31 @@
1
+ import type { Meta, StoryObj, StoryFn } from "@storybook/react";
2
+ import { RBJoyStick } from "@repo/rb-components/new_components";
3
+
4
+ type StoryComponent = StoryObj<typeof RBJoyStick>;
5
+ type StoryTemplate = StoryFn<typeof RBJoyStick>;
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
8
+ export default {
9
+ component: RBJoyStick,
10
+ tags: ["autodocs"],
11
+ } as Meta<typeof RBJoyStick>;
12
+
13
+ const Template: StoryTemplate = (args) => {
14
+ return (
15
+ <div className="bg-fill-subtler p-10">
16
+ <RBJoyStick {...args} />
17
+ </div>
18
+ );
19
+ };
20
+
21
+ export const Default: StoryComponent = {
22
+ parameters: {
23
+ docs: {
24
+ description: {
25
+ story: "",
26
+ },
27
+ },
28
+ },
29
+ args: {},
30
+ render: Template,
31
+ };
@@ -0,0 +1,36 @@
1
+ import type { Meta, StoryFn, StoryObj } from "@storybook/react";
2
+ import { RBLight } from "@repo/rb-components/new_components";
3
+ import { lightColors, lightSizes } from "@repo/rb-components/new_components";
4
+
5
+ type StoryComponent = StoryObj<typeof RBLight>;
6
+ type StoryTemplate = StoryFn<typeof RBLight>;
7
+
8
+ const Template: StoryTemplate = (args) => <RBLight {...args} />;
9
+
10
+ export default {
11
+ component: RBLight,
12
+ tags: ["autodocs"],
13
+ render: Template,
14
+ argTypes: {
15
+ color: {
16
+ control: { type: "select" },
17
+ options: lightColors,
18
+ table: {
19
+ type: { summary: lightColors.map((c) => `"${c}"`).join(" | ") },
20
+ },
21
+ },
22
+ size: {
23
+ control: { type: "select" },
24
+ options: lightSizes,
25
+ table: {
26
+ type: { summary: lightSizes.map((s) => `"${s}"`).join(" | ") },
27
+ },
28
+ },
29
+ },
30
+ args: {
31
+ color: "green",
32
+ size: "md",
33
+ },
34
+ } as Meta<typeof RBLight>;
35
+
36
+ export const Playground: StoryComponent = {};
@@ -0,0 +1,49 @@
1
+ import { useEffect, useState } from "react";
2
+ import type { Meta, StoryObj, StoryFn } from "@storybook/react";
3
+ import { RBPagination } from "@repo/rb-components/new_components";
4
+
5
+ type StoryComponent = StoryObj<typeof RBPagination>;
6
+ type StoryTemplate = StoryFn<typeof RBPagination>;
7
+
8
+ // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
9
+ export default {
10
+ component: RBPagination,
11
+ tags: ["autodocs"],
12
+ } as Meta<typeof RBPagination>;
13
+
14
+ const Template: StoryTemplate = (args) => {
15
+ const [currPage, setCurrPage] = useState(args.currPage ?? 1);
16
+
17
+ useEffect(() => {
18
+ setCurrPage(args.currPage ?? 1);
19
+ }, [args.currPage]);
20
+
21
+ return (
22
+ <RBPagination
23
+ {...args}
24
+ currPage={currPage}
25
+ handlePageChange={(page) => {
26
+ setCurrPage(page);
27
+ args.handlePageChange?.(page);
28
+ }}
29
+ />
30
+ );
31
+ };
32
+
33
+ export const Default: StoryComponent = {
34
+ parameters: {
35
+ docs: {
36
+ description: {
37
+ story: "",
38
+ },
39
+ },
40
+ },
41
+ args: {
42
+ currPage: 1,
43
+ listSize: 1,
44
+ pageSize: 10,
45
+ totalCount: 100,
46
+ handlePageChange: () => {},
47
+ },
48
+ render: Template,
49
+ };
@@ -0,0 +1,89 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { HStack, VStack } from "@repo/rb-components";
3
+
4
+ import {
5
+ RBCard,
6
+ RBCardContent,
7
+ RBCardDescription,
8
+ RBCardFooter,
9
+ RBCardHeader,
10
+ RBCardHeaderText,
11
+ RBLabelButton,
12
+ RBCardTitle,
13
+ RBTextLabel,
14
+ RBTextInput,
15
+ } from "@repo/rb-components/new_components";
16
+
17
+ const meta = {
18
+ component: RBCard,
19
+ tags: ["autodocs"],
20
+ argTypes: {
21
+ size: {
22
+ control: { type: "select" },
23
+ options: ["sm", "md"],
24
+ table: { type: { summary: '"sm" | "md"' } },
25
+ },
26
+ },
27
+ args: {
28
+ size: "md",
29
+ },
30
+ } satisfies Meta<typeof RBCard>;
31
+
32
+ export default meta;
33
+ type Story = StoryObj<typeof meta>;
34
+
35
+ export const Playground: Story = {
36
+ render: ({ size }) => {
37
+ return (
38
+ <RBCard size={size}>
39
+ <RBCardHeader>
40
+ <RBCardHeaderText>
41
+ <RBCardTitle>Title Text</RBCardTitle>
42
+ <RBCardDescription>This is a card description.</RBCardDescription>
43
+ </RBCardHeaderText>
44
+ </RBCardHeader>
45
+
46
+ <RBCardContent>
47
+ <VStack className="w-full gap-6">
48
+ <VStack className="w-full gap-2">
49
+ <RBTextLabel label="Email" />
50
+ <RBTextInput
51
+ defaultValue="m@example.com"
52
+ type="email"
53
+ size="sm"
54
+ className="w-full"
55
+ />
56
+ </VStack>
57
+ <VStack className="w-full gap-2">
58
+ <HStack className="w-full items-start justify-between">
59
+ <RBTextLabel label="Password" className="w-auto" />
60
+ <span className="text-fg-default typo-compact-xs-normal whitespace-nowrap">
61
+ Forgot your password?
62
+ </span>
63
+ </HStack>
64
+ <RBTextInput
65
+ defaultValue="Placeholder"
66
+ type="password"
67
+ size="sm"
68
+ className="w-full"
69
+ />
70
+ </VStack>
71
+ <p className="text-fg-default typo-body-xs-normal">
72
+ The card component supports a size prop that can be set to
73
+ &quot;sm&quot; for a more compact appearance.
74
+ </p>
75
+ </VStack>
76
+ </RBCardContent>
77
+
78
+ <RBCardFooter>
79
+ <RBLabelButton size="sm" variant="solid" className="w-full">
80
+ Login
81
+ </RBLabelButton>
82
+ <RBLabelButton size="sm" variant="outlined" className="w-full">
83
+ Login with Google
84
+ </RBLabelButton>
85
+ </RBCardFooter>
86
+ </RBCard>
87
+ );
88
+ },
89
+ };
@@ -0,0 +1,116 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { CheckIcon } from "lucide-react";
3
+ import { useState, type ComponentProps } from "react";
4
+
5
+ import {
6
+ RBIcons,
7
+ RBCommand,
8
+ RBCommandEmpty,
9
+ RBCommandGroup,
10
+ RBCommandInput,
11
+ RBCommandItem,
12
+ RBCommandList,
13
+ RBCommandSelected,
14
+ RBCommandSeparator,
15
+ RBCommandShortcut,
16
+ } from "@repo/rb-components/new_components";
17
+
18
+ const meta = {
19
+ component: RBCommand,
20
+ tags: ["autodocs"],
21
+ } satisfies Meta<typeof RBCommand>;
22
+
23
+ export default meta;
24
+ type Story = StoryObj<typeof meta>;
25
+
26
+ type RBCommandProps = ComponentProps<typeof RBCommand>;
27
+
28
+ export const Suggestions: Story = {
29
+ render: function Render(args: RBCommandProps) {
30
+ const [selectedItem, setSelectedItem] = useState<string | null>(null);
31
+ const placeholder = selectedItem
32
+ ? `${selectedItem} 선택됨`
33
+ : "플레이스홀더";
34
+
35
+ return (
36
+ <RBCommand {...args} className={`w-96 ${args.className ?? ""}`}>
37
+ <RBCommandInput placeholder={placeholder} />
38
+ <RBCommandList>
39
+ <RBCommandGroup heading="Suggestions">
40
+ <RBCommandItem onSelect={() => setSelectedItem("Calendar")}>
41
+ <RBIcons.SvgInformationRegular />
42
+ Calendar
43
+ {selectedItem === "Calendar" && (
44
+ <RBCommandSelected>
45
+ <CheckIcon />
46
+ </RBCommandSelected>
47
+ )}
48
+ </RBCommandItem>
49
+ <RBCommandItem onSelect={() => setSelectedItem("Search Emoji")}>
50
+ <RBIcons.SvgInformationRegular />
51
+ Search Emoji
52
+ {selectedItem === "Search Emoji" && (
53
+ <RBCommandSelected>
54
+ <CheckIcon />
55
+ </RBCommandSelected>
56
+ )}
57
+ </RBCommandItem>
58
+ <RBCommandItem onSelect={() => setSelectedItem("Calculator")}>
59
+ <RBIcons.SvgInformationRegular />
60
+ Calculator
61
+ {selectedItem === "Calculator" && (
62
+ <RBCommandSelected>
63
+ <CheckIcon />
64
+ </RBCommandSelected>
65
+ )}
66
+ </RBCommandItem>
67
+ </RBCommandGroup>
68
+ <RBCommandSeparator className="w-full" />
69
+ <RBCommandGroup heading="Settings">
70
+ <RBCommandItem onSelect={() => setSelectedItem("Profile")}>
71
+ <RBIcons.SvgInformationRegular />
72
+ Profile
73
+ {selectedItem === "Profile" && (
74
+ <RBCommandSelected>
75
+ <CheckIcon />
76
+ </RBCommandSelected>
77
+ )}
78
+ <RBCommandShortcut>⌘P</RBCommandShortcut>
79
+ </RBCommandItem>
80
+ <RBCommandItem onSelect={() => setSelectedItem("Billing")}>
81
+ <RBIcons.SvgInformationRegular />
82
+ Billing
83
+ {selectedItem === "Billing" && (
84
+ <RBCommandSelected>
85
+ <CheckIcon />
86
+ </RBCommandSelected>
87
+ )}
88
+ <RBCommandShortcut>⌘B</RBCommandShortcut>
89
+ </RBCommandItem>
90
+ <RBCommandItem onSelect={() => setSelectedItem("Settings")}>
91
+ <RBIcons.SvgInformationRegular />
92
+ Settings
93
+ {selectedItem === "Settings" && (
94
+ <RBCommandSelected>
95
+ <CheckIcon />
96
+ </RBCommandSelected>
97
+ )}
98
+ <RBCommandShortcut>⌘S</RBCommandShortcut>
99
+ </RBCommandItem>
100
+ </RBCommandGroup>
101
+ </RBCommandList>
102
+ </RBCommand>
103
+ );
104
+ },
105
+ };
106
+
107
+ export const EmptyState: Story = {
108
+ render: () => (
109
+ <RBCommand className="h-60 w-96">
110
+ <RBCommandInput placeholder="플레이스홀더" />
111
+ <RBCommandList className="flex flex-1 flex-col items-center justify-center p-0">
112
+ <RBCommandEmpty>No results found.</RBCommandEmpty>
113
+ </RBCommandList>
114
+ </RBCommand>
115
+ ),
116
+ };
@@ -0,0 +1,74 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+
3
+ import {
4
+ RBDialog,
5
+ RBDialogContent,
6
+ RBDialogDescription,
7
+ RBDialogFooter,
8
+ RBDialogHeader,
9
+ RBDialogTitle,
10
+ RBDialogTrigger,
11
+ RBLabelButton,
12
+ } from "@repo/rb-components/new_components";
13
+
14
+ const meta = {
15
+ tags: ["autodocs"],
16
+ argTypes: {
17
+ showCloseButton: {
18
+ control: "boolean",
19
+ },
20
+ size: {
21
+ control: { type: "select" },
22
+ options: ["sm", "md", "lg"],
23
+ },
24
+ },
25
+ args: {
26
+ showCloseButton: true,
27
+ size: "lg",
28
+ },
29
+ component: RBDialogContent,
30
+ } satisfies Meta<typeof RBDialogContent>;
31
+
32
+ export default meta;
33
+ type Story = StoryObj<typeof meta>;
34
+
35
+ export const Playground: Story = {
36
+ render: (args) => (
37
+ <div>
38
+ <RBDialog>
39
+ <RBDialogTrigger asChild>
40
+ <RBLabelButton size="sm" variant="solid">
41
+ Open Dialog
42
+ </RBLabelButton>
43
+ </RBDialogTrigger>
44
+
45
+ <RBDialogContent {...args}>
46
+ <RBDialogHeader>
47
+ <RBDialogTitle>타이틀</RBDialogTitle>
48
+ <RBDialogDescription>설명 영역</RBDialogDescription>
49
+ </RBDialogHeader>
50
+
51
+ <div className="text-fg-default px-4 py-2 text-sm">
52
+ 다이얼로그 본문 콘텐츠 영역입니다.
53
+ </div>
54
+
55
+ <RBDialogFooter>
56
+ <div className="flex flex-1 items-center justify-start gap-1">
57
+ <RBLabelButton variant="outlined" size="xs2">
58
+ 버튼
59
+ </RBLabelButton>
60
+ </div>
61
+ <div className="flex items-center gap-1">
62
+ <RBLabelButton variant="outlined" size="xs2">
63
+ 버튼
64
+ </RBLabelButton>
65
+ <RBLabelButton variant="brand" size="xs2">
66
+ 버튼
67
+ </RBLabelButton>
68
+ </div>
69
+ </RBDialogFooter>
70
+ </RBDialogContent>
71
+ </RBDialog>
72
+ </div>
73
+ ),
74
+ };
@@ -0,0 +1,99 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+
3
+ import { VStack } from "@repo/rb-components";
4
+ import {
5
+ RBLabelButton,
6
+ RBDrawer,
7
+ RBDrawerBody,
8
+ RBDrawerContent,
9
+ RBDrawerDescription,
10
+ RBDrawerFooter,
11
+ RBDrawerHeader,
12
+ RBDrawerTitle,
13
+ RBDrawerTrigger,
14
+ } from "@repo/rb-components/new_components";
15
+
16
+ const meta = {
17
+ tags: ["autodocs"],
18
+ argTypes: {
19
+ showCloseButton: {
20
+ control: "boolean",
21
+ },
22
+ showHandle: {
23
+ control: "boolean",
24
+ },
25
+ side: {
26
+ control: { type: "select" },
27
+ options: ["top", "bottom", "right", "left"],
28
+ },
29
+ },
30
+ args: {
31
+ side: "bottom",
32
+ showHandle: true,
33
+ showCloseButton: false,
34
+ },
35
+ component: RBDrawerContent,
36
+ } satisfies Meta<typeof RBDrawerContent>;
37
+
38
+ export default meta;
39
+ type Story = StoryObj<typeof meta>;
40
+
41
+ const DrawerBodyContent = ({
42
+ side,
43
+ }: {
44
+ side: "top" | "bottom" | "right" | "left";
45
+ }) => {
46
+ const isVertical = side === "top" || side === "bottom";
47
+
48
+ return (
49
+ <>
50
+ <RBDrawerHeader className={isVertical ? "items-center text-center" : ""}>
51
+ <RBDrawerTitle className="typo-title-01-medium">
52
+ Title Text
53
+ </RBDrawerTitle>
54
+ <RBDrawerDescription>This is a drawer description.</RBDrawerDescription>
55
+ </RBDrawerHeader>
56
+
57
+ <RBDrawerBody>
58
+ <div className="border-information bg-fill-information-subtlest text-fg-default typo-compact-sm-normal flex h-16 w-full items-center justify-center border border-dashed px-4 text-center">
59
+ <span className={isVertical ? "" : "w-full text-left"}>
60
+ Slot (swap it with your content)
61
+ </span>
62
+ </div>
63
+ </RBDrawerBody>
64
+
65
+ <RBDrawerFooter>
66
+ <RBLabelButton size="sm" variant="solid" className="w-full">
67
+ 버튼 라벨
68
+ </RBLabelButton>
69
+ <RBLabelButton size="sm" variant="outlined" className="w-full">
70
+ 버튼 라벨
71
+ </RBLabelButton>
72
+ </RBDrawerFooter>
73
+ </>
74
+ );
75
+ };
76
+
77
+ export const Playground: Story = {
78
+ render: (args) => (
79
+ <VStack className="bg-alt-1 min-h-[700px] items-center justify-center rounded-2xl p-8">
80
+ <RBDrawer defaultOpen side={args.side}>
81
+ <RBDrawerTrigger asChild>
82
+ <RBLabelButton size="sm" variant="solid">
83
+ Open Drawer
84
+ </RBLabelButton>
85
+ </RBDrawerTrigger>
86
+ <RBDrawerContent
87
+ {...args}
88
+ className={
89
+ args.side === "top" || args.side === "bottom"
90
+ ? "w-full"
91
+ : "h-full w-96"
92
+ }
93
+ >
94
+ <DrawerBodyContent side={args.side} />
95
+ </RBDrawerContent>
96
+ </RBDrawer>
97
+ </VStack>
98
+ ),
99
+ };
@@ -0,0 +1,123 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { useState } from "react";
3
+
4
+ import { VStack } from "@repo/rb-components";
5
+ import {
6
+ RBIcons,
7
+ RBLabelButton,
8
+ RBDropdownMenu,
9
+ RBDropdownMenuCheckboxItem,
10
+ RBDropdownMenuContent,
11
+ RBDropdownMenuItem,
12
+ RBDropdownMenuLabel,
13
+ RBDropdownMenuSeparator,
14
+ RBDropdownMenuShortcut,
15
+ RBDropdownMenuSub,
16
+ RBDropdownMenuSubContent,
17
+ RBDropdownMenuSubTrigger,
18
+ RBDropdownMenuTrigger,
19
+ } from "@repo/rb-components/new_components";
20
+
21
+ const meta = {
22
+ tags: ["autodocs"],
23
+ component: RBDropdownMenu,
24
+ } satisfies Meta<typeof RBDropdownMenu>;
25
+
26
+ export default meta;
27
+ type Story = StoryObj<typeof meta>;
28
+
29
+ export const Playground: Story = {
30
+ render: () => {
31
+ const [bookmarked, setBookmarked] = useState(true);
32
+ const [notifications, setNotifications] = useState(false);
33
+
34
+ return (
35
+ <VStack className="bg-alt-1 min-h-[420px] items-center justify-center rounded-2xl p-8">
36
+ <RBDropdownMenu>
37
+ <RBDropdownMenuTrigger asChild>
38
+ <RBLabelButton size="sm" variant="outlined">
39
+ Open
40
+ </RBLabelButton>
41
+ </RBDropdownMenuTrigger>
42
+ <RBDropdownMenuContent className="w-40" sideOffset={8}>
43
+ <RBDropdownMenuLabel>My Account</RBDropdownMenuLabel>
44
+ <RBDropdownMenuSeparator />
45
+
46
+ <RBDropdownMenuCheckboxItem
47
+ checked={bookmarked}
48
+ onCheckedChange={(next) => setBookmarked(next === true)}
49
+ >
50
+ <span className="flex-1 truncate">Bookmarked</span>
51
+ <RBDropdownMenuShortcut>⌘B</RBDropdownMenuShortcut>
52
+ </RBDropdownMenuCheckboxItem>
53
+ <RBDropdownMenuCheckboxItem
54
+ checked={notifications}
55
+ onCheckedChange={(next) => setNotifications(next === true)}
56
+ >
57
+ <span className="flex-1 truncate">Notifications</span>
58
+ <RBDropdownMenuShortcut>⌘N</RBDropdownMenuShortcut>
59
+ </RBDropdownMenuCheckboxItem>
60
+
61
+ <RBDropdownMenuSeparator />
62
+
63
+ <RBDropdownMenuItem>
64
+ <RBIcons.SvgFolderOpenRegular className="size-4" />
65
+ <span className="flex-1 truncate">Profile</span>
66
+ <RBDropdownMenuShortcut>⇧⌘P</RBDropdownMenuShortcut>
67
+ </RBDropdownMenuItem>
68
+
69
+ <RBDropdownMenuItem>
70
+ <RBIcons.SvgFolderOpenRegular className="size-4" />
71
+ <span className="flex-1 truncate">Billing</span>
72
+ <RBDropdownMenuShortcut>⌘B</RBDropdownMenuShortcut>
73
+ </RBDropdownMenuItem>
74
+
75
+ <RBDropdownMenuItem>
76
+ <RBIcons.SvgFolderOpenRegular className="size-4" />
77
+ <span className="flex-1 truncate">Settings</span>
78
+ <RBDropdownMenuShortcut>⌘S</RBDropdownMenuShortcut>
79
+ </RBDropdownMenuItem>
80
+
81
+ <RBDropdownMenuSeparator />
82
+
83
+ <RBDropdownMenuItem>
84
+ <span className="flex-1 truncate">Team</span>
85
+ </RBDropdownMenuItem>
86
+
87
+ <RBDropdownMenuSub>
88
+ <RBDropdownMenuSubTrigger>
89
+ <span className="flex-1 truncate">Invite users</span>
90
+ </RBDropdownMenuSubTrigger>
91
+ <RBDropdownMenuSubContent className="w-56">
92
+ <RBDropdownMenuItem>Email</RBDropdownMenuItem>
93
+ <RBDropdownMenuItem>Message</RBDropdownMenuItem>
94
+ <RBDropdownMenuSub>
95
+ <RBDropdownMenuSubTrigger>
96
+ <span className="flex-1 truncate">More options</span>
97
+ </RBDropdownMenuSubTrigger>
98
+ </RBDropdownMenuSub>
99
+ </RBDropdownMenuSubContent>
100
+ </RBDropdownMenuSub>
101
+
102
+ <RBDropdownMenuItem>
103
+ <span className="flex-1 truncate">New Team</span>
104
+ <RBDropdownMenuShortcut>⌘+T</RBDropdownMenuShortcut>
105
+ </RBDropdownMenuItem>
106
+
107
+ <RBDropdownMenuItem disabled>
108
+ <span className="flex-1 truncate">API</span>
109
+ </RBDropdownMenuItem>
110
+
111
+ <RBDropdownMenuSeparator />
112
+
113
+ <RBDropdownMenuItem variant="destructive">
114
+ <RBIcons.SvgFolderOpenRegular className="size-4" />
115
+ <span className="flex-1 truncate">Log out</span>
116
+ <RBDropdownMenuShortcut>⌘Q</RBDropdownMenuShortcut>
117
+ </RBDropdownMenuItem>
118
+ </RBDropdownMenuContent>
119
+ </RBDropdownMenu>
120
+ </VStack>
121
+ );
122
+ },
123
+ };