@rainbow-robotics/muscat-plugin-kit 1.10.1-dev.1 → 1.10.1

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 (205) hide show
  1. package/README.md +282 -282
  2. package/cli/README.md +274 -274
  3. package/cli/bin/create-muscat-plugin.mjs +8 -8
  4. package/cli/bin/muscat-pk.mjs +155 -155
  5. package/cli/bundle-templates.mjs +31 -31
  6. package/cli/docker/Dockerfile.cpp +28 -28
  7. package/cli/docker/Dockerfile.dev +30 -30
  8. package/cli/docker/Dockerfile.python +21 -21
  9. package/cli/m5-e2e.mjs +69 -69
  10. package/cli/prepack.mjs +10 -10
  11. package/cli/src/ai-rules.mjs +70 -70
  12. package/cli/src/build.mjs +447 -447
  13. package/cli/src/check-package.mjs +13 -13
  14. package/cli/src/completion.mjs +166 -166
  15. package/cli/src/cpp.mjs +78 -78
  16. package/cli/src/cppIde.mjs +75 -75
  17. package/cli/src/dev.mjs +165 -165
  18. package/cli/src/devBack.mjs +734 -727
  19. package/cli/src/devUi.mjs +247 -243
  20. package/cli/src/esbuild.mjs +56 -56
  21. package/cli/src/host_agent.py +223 -223
  22. package/cli/src/manifest.mjs +287 -287
  23. package/cli/src/mcp.mjs +1071 -1071
  24. package/cli/src/muscatLocal.mjs +209 -209
  25. package/cli/src/new.mjs +343 -343
  26. package/cli/src/pluginDevServer.mjs +111 -111
  27. package/cli/src/ports.mjs +193 -193
  28. package/cli/src/python.mjs +112 -112
  29. package/cli/src/ros2.mjs +109 -109
  30. package/cli/src/sdk.mjs +117 -117
  31. package/cli/src/storybook.mjs +168 -168
  32. package/cli/src/type.mjs +141 -141
  33. package/cli/src/uninstall.mjs +81 -81
  34. package/cli/src/update.mjs +295 -295
  35. package/cli/src/util.mjs +441 -441
  36. package/cli/src/zenohDev.mjs +83 -81
  37. package/cli/storybook-dist/_design-tokens.css +4957 -4957
  38. package/cli/storybook-dist/_stories-src/NxAvatar.stories.tsx +27 -27
  39. package/cli/storybook-dist/_stories-src/NxPagination.stories.tsx +28 -28
  40. package/cli/storybook-dist/_stories-src/RBAccordion/RBAccordion.stories.tsx +46 -46
  41. package/cli/storybook-dist/_stories-src/RBAccordion/RBAccordionGroup.stories.tsx +73 -73
  42. package/cli/storybook-dist/_stories-src/RBBadge/RBBadge.stories.tsx +93 -93
  43. package/cli/storybook-dist/_stories-src/RBBattery/RBBattery.stories.tsx +74 -74
  44. package/cli/storybook-dist/_stories-src/RBButton/RBCheckIconButton.stories.tsx +28 -28
  45. package/cli/storybook-dist/_stories-src/RBButton/RBCheckLabelButton.stories.tsx +84 -84
  46. package/cli/storybook-dist/_stories-src/RBButton/RBIconButton.stories.tsx +57 -57
  47. package/cli/storybook-dist/_stories-src/RBButton/RBInlineLabelButton.stories.tsx +41 -41
  48. package/cli/storybook-dist/_stories-src/RBButton/RBLabelButton.stories.tsx +60 -60
  49. package/cli/storybook-dist/_stories-src/RBDatePicker/RBDateInput.stories.tsx +44 -44
  50. package/cli/storybook-dist/_stories-src/RBDatePicker/RBRangeDateInput.stories.tsx +56 -56
  51. package/cli/storybook-dist/_stories-src/RBDialog/RBAlert.stories.tsx +51 -51
  52. package/cli/storybook-dist/_stories-src/RBDialog/RBConfirm.stories.tsx +55 -55
  53. package/cli/storybook-dist/_stories-src/RBDialog/RBPrompt.stories.tsx +52 -52
  54. package/cli/storybook-dist/_stories-src/RBDivider/RBDivider.stories.tsx +93 -93
  55. package/cli/storybook-dist/_stories-src/RBEmptyView/RBEmptyView.stories.tsx +49 -49
  56. package/cli/storybook-dist/_stories-src/RBIcons/RBColorIcons.stories.tsx +108 -108
  57. package/cli/storybook-dist/_stories-src/RBIcons/RBIcons.stories.tsx +106 -106
  58. package/cli/storybook-dist/_stories-src/RBInput/RBCheckBox.stories.tsx +89 -89
  59. package/cli/storybook-dist/_stories-src/RBInput/RBMultiRangeInput.stories.tsx +64 -64
  60. package/cli/storybook-dist/_stories-src/RBInput/RBRadioBox.stories.tsx +65 -65
  61. package/cli/storybook-dist/_stories-src/RBInput/RBRadioButton.stories.tsx +68 -68
  62. package/cli/storybook-dist/_stories-src/RBInput/RBSelectBox.stories.tsx +216 -216
  63. package/cli/storybook-dist/_stories-src/RBInput/RBSideNumberInput.stories.tsx +90 -90
  64. package/cli/storybook-dist/_stories-src/RBInput/RBText/RBTextArea.stories.tsx +45 -45
  65. package/cli/storybook-dist/_stories-src/RBInput/RBText/RBTextInput.stories.tsx +50 -50
  66. package/cli/storybook-dist/_stories-src/RBInput/RBTextField.stories.tsx +102 -102
  67. package/cli/storybook-dist/_stories-src/RBJoyStick/RBJoyStick.stories.tsx +31 -31
  68. package/cli/storybook-dist/_stories-src/RBLight/RBLight.stories.tsx +36 -36
  69. package/cli/storybook-dist/_stories-src/RBPagination/RBPagination.stories.tsx +49 -49
  70. package/cli/storybook-dist/_stories-src/RBShadcn/RBCard/RBCard.stories.tsx +89 -89
  71. package/cli/storybook-dist/_stories-src/RBShadcn/RBCommand/RBCommand.stories.tsx +116 -116
  72. package/cli/storybook-dist/_stories-src/RBShadcn/RBDialog/RBDialog.stories.tsx +74 -74
  73. package/cli/storybook-dist/_stories-src/RBShadcn/RBDrawer/RBDrawer.stories.tsx +99 -99
  74. package/cli/storybook-dist/_stories-src/RBShadcn/RBDropdownMenu/RBDropdownMenu.stories.tsx +123 -123
  75. package/cli/storybook-dist/_stories-src/RBShadcn/RBMenubar/RBMenubar.stories.tsx +135 -135
  76. package/cli/storybook-dist/_stories-src/RBShadcn/RBPopover/RBPopover.stories.tsx +69 -69
  77. package/cli/storybook-dist/_stories-src/RBShadcn/RBResizable/RBResizable.stories.tsx +49 -49
  78. package/cli/storybook-dist/_stories-src/RBShadcn/RBSheet/RBSheet.stories.tsx +91 -91
  79. package/cli/storybook-dist/_stories-src/RBShadcn/RBSlider/RBSlider.stories.tsx +38 -38
  80. package/cli/storybook-dist/_stories-src/RBShadcn/RBSwitch/RBSwitch.stories.tsx +112 -112
  81. package/cli/storybook-dist/_stories-src/RBShadcn/RBTabs/RBTabs.stories.tsx +75 -75
  82. package/cli/storybook-dist/_stories-src/RBShadcn/RBToggle/RBToggle.stories.tsx +51 -51
  83. package/cli/storybook-dist/_stories-src/RBShadcn/RBToggleGroup/RBToggleGroup.stories.tsx +84 -84
  84. package/cli/storybook-dist/_stories-src/RBTab/RBChipTab.stories.tsx +102 -102
  85. package/cli/storybook-dist/_stories-src/RBTab/RBChipsBoxTab.stories.tsx +78 -78
  86. package/cli/storybook-dist/_stories-src/RBTab/RBTab.stories.tsx +57 -57
  87. package/cli/storybook-dist/_stories-src/RBTable/RBTable.stories.tsx +177 -177
  88. package/cli/storybook-dist/_stories-src/RBTable/RBTableRow.stories.tsx +64 -64
  89. package/cli/storybook-dist/_stories-src/RBToast/RBToast.stories.tsx +117 -117
  90. package/cli/storybook-dist/_stories-src/RBTooltip/RBTooltip.stories.tsx +50 -50
  91. package/cli/storybook-dist/_stories-src/loading/RBSpinner.stories.tsx +30 -30
  92. package/cli/storybook-dist/_stories-src/nx-button/NxButton.stories.tsx +54 -54
  93. package/cli/storybook-dist/_stories-src/nx-button/NxPointerHoldButton.stories.tsx +57 -57
  94. package/cli/storybook-dist/_stories-src/nx-icons/NxIcons.stories.tsx +48 -48
  95. package/cli/storybook-dist/_stories-src/nx-inputs/NxNumberInput.stories.tsx +103 -103
  96. package/cli/storybook-dist/_stories-src/nx-inputs/NxRangeInput.stories.tsx +27 -27
  97. package/cli/storybook-dist/_stories-src/nx-inputs/NxSelectBox.stories.tsx +67 -67
  98. package/cli/storybook-dist/_stories-src/nx-inputs/NxSlideRange.stories.tsx +45 -45
  99. package/cli/storybook-dist/_stories-src/nx-inputs/NxSwitch.stories.tsx +27 -27
  100. package/cli/storybook-dist/_stories-src/nx-inputs/NxTextArea.stories.tsx +48 -48
  101. package/cli/storybook-dist/_stories-src/nx-inputs/NxTextInput.stories.tsx +46 -46
  102. package/cli/storybook-dist/assets/{Color-YHDXOIA2-D6JqZzDJ.js → Color-YHDXOIA2-B4IER17l.js} +1 -1
  103. package/cli/storybook-dist/assets/{Docs-ESb7JAHg.js → Docs-C8GCHFtK.js} +3 -3
  104. package/cli/storybook-dist/assets/{Docs-6gD2kUo1.js → Docs-CgdEMPQP.js} +2 -2
  105. package/cli/storybook-dist/assets/{Docs-B9wd8Ok7.js → Docs-Ck3WHvk6.js} +3 -3
  106. package/cli/storybook-dist/assets/{Docs-CgFbWWXM.js → Docs-D9NHsoeZ.js} +2 -2
  107. package/cli/storybook-dist/assets/{Docs-DBQup8Bu.js → Docs-DNYQC7nl.js} +3 -3
  108. package/cli/storybook-dist/assets/{Docs-CMjovnSY.js → Docs-DUfeiM4I.js} +4 -4
  109. package/cli/storybook-dist/assets/{DocsRenderer-CFRXHY34-BOUI1AHi.js → DocsRenderer-CFRXHY34-C0WhyDoR.js} +1 -1
  110. package/cli/storybook-dist/assets/{NxAvatar.stories-DsYFMUh3.js → NxAvatar.stories-CwnK8AUF.js} +1 -1
  111. package/cli/storybook-dist/assets/{NxButton.stories-CHfNcqsc.js → NxButton.stories-ueYdosfQ.js} +8 -8
  112. package/cli/storybook-dist/assets/{NxNumberInput.stories-BFw_4vFE.js → NxNumberInput.stories-M5ZCLbrK.js} +1 -1
  113. package/cli/storybook-dist/assets/{NxPagination.stories-DVfxyw4M.js → NxPagination.stories-bxxUnHEL.js} +1 -1
  114. package/cli/storybook-dist/assets/{NxPointerHoldButton.stories-BzyxUWoZ.js → NxPointerHoldButton.stories-BHxB2kr5.js} +1 -1
  115. package/cli/storybook-dist/assets/{NxRangeInput.stories-DmRdzBc1.js → NxRangeInput.stories-BKfr-fp4.js} +6 -6
  116. package/cli/storybook-dist/assets/{NxSelectBox.stories-B1KkNUOf.js → NxSelectBox.stories-CG8FuTBq.js} +1 -1
  117. package/cli/storybook-dist/assets/{NxSlideRange.stories-CyOdvfQ6.js → NxSlideRange.stories-BRTFtMTL.js} +1 -1
  118. package/cli/storybook-dist/assets/{NxSwitch.stories-DrDBw0qp.js → NxSwitch.stories-Bwuyzn-R.js} +1 -1
  119. package/cli/storybook-dist/assets/{NxTextArea.stories-DTB2aqNS.js → NxTextArea.stories-COq2sGqu.js} +1 -1
  120. package/cli/storybook-dist/assets/{NxTextInput.stories-DU0rucmM.js → NxTextInput.stories-CjsBLz05.js} +1 -1
  121. package/cli/storybook-dist/assets/{RBAccordion.stories-DTfOtXtp.js → RBAccordion.stories-BARwuZ0Q.js} +3 -3
  122. package/cli/storybook-dist/assets/{RBAccordionGroup.stories-9y9BjrUe.js → RBAccordionGroup.stories-COrPxETW.js} +10 -10
  123. package/cli/storybook-dist/assets/{RBAlert.stories-DLTAv9fT.js → RBAlert.stories-BQrkjZPt.js} +3 -3
  124. package/cli/storybook-dist/assets/{RBBadge.stories-BNMACewA.js → RBBadge.stories-BTsLL-lK.js} +1 -1
  125. package/cli/storybook-dist/assets/{RBBattery.stories-B3kXMAt5.js → RBBattery.stories-DAeQdJbc.js} +1 -1
  126. package/cli/storybook-dist/assets/{RBCard.stories-Y-s8R2n7.js → RBCard.stories-HyhOE80R.js} +39 -39
  127. package/cli/storybook-dist/assets/{RBCheckBox.stories-DBuT9tL4.js → RBCheckBox.stories-KFk0WqX_.js} +1 -1
  128. package/cli/storybook-dist/assets/{RBCheckIconButton.stories-CWu1TL56.js → RBCheckIconButton.stories-CXbbktF5.js} +1 -1
  129. package/cli/storybook-dist/assets/{RBCheckLabelButton.stories-sCu2MGCX.js → RBCheckLabelButton.stories-DWfYz_9Z.js} +17 -17
  130. package/cli/storybook-dist/assets/{RBChipTab.stories-BX9qLJkR.js → RBChipTab.stories-JPEgVFAS.js} +5 -5
  131. package/cli/storybook-dist/assets/{RBChipsBoxTab.stories-35u1aJ-P.js → RBChipsBoxTab.stories-CTPuWXrQ.js} +1 -1
  132. package/cli/storybook-dist/assets/{RBColorIcons.stories-DAOZ5Ies.js → RBColorIcons.stories-DiFRZ5jk.js} +1 -1
  133. package/cli/storybook-dist/assets/RBCommand.stories-Pf1HAVIR.js +73 -0
  134. package/cli/storybook-dist/assets/{RBConfirm.stories-iMXcUh7Z.js → RBConfirm.stories-D1cEPUXk.js} +3 -3
  135. package/cli/storybook-dist/assets/{RBDateInput.stories-hK5rXECf.js → RBDateInput.stories-RPYpCjig.js} +1 -1
  136. package/cli/storybook-dist/assets/RBDialog.stories-DJH-0XSR.js +38 -0
  137. package/cli/storybook-dist/assets/{RBDivider.stories-BAK-iZ1Z.js → RBDivider.stories-uEj1vOgK.js} +1 -1
  138. package/cli/storybook-dist/assets/{RBDrawer.stories-B2nqf2Nh.js → RBDrawer.stories-BiMzElb2.js} +12 -12
  139. package/cli/storybook-dist/assets/RBDropdownMenu.stories-Da_TBkla.js +86 -0
  140. package/cli/storybook-dist/assets/{RBEmptyView.stories-nCenrgBh.js → RBEmptyView.stories-BHeKGfPS.js} +1 -1
  141. package/cli/storybook-dist/assets/{RBIconButton.stories-DRH7O3sp.js → RBIconButton.stories-NEsRFoYp.js} +1 -1
  142. package/cli/storybook-dist/assets/{RBIcons.stories-D3PyJXG8.js → RBIcons.stories-CcZ-TTLS.js} +1 -1
  143. package/cli/storybook-dist/assets/{RBInlineLabelButton.stories-modQbt10.js → RBInlineLabelButton.stories-B0wpdQyR.js} +1 -1
  144. package/cli/storybook-dist/assets/{RBJoyStick.stories-BY14qVgR.js → RBJoyStick.stories-DEgBou3K.js} +1 -1
  145. package/cli/storybook-dist/assets/{RBLabelButton.stories-DzF7vGwm.js → RBLabelButton.stories-DT8drIsF.js} +1 -1
  146. package/cli/storybook-dist/assets/{RBLight.stories-lF4FRmVh.js → RBLight.stories-Dh-aoeyG.js} +1 -1
  147. package/cli/storybook-dist/assets/{RBMenubar.stories-XhrI7bsV.js → RBMenubar.stories-D-H7UqVh.js} +1 -1
  148. package/cli/storybook-dist/assets/{RBMultiRangeInput.stories-DprllQDl.js → RBMultiRangeInput.stories-hlclv6jI.js} +1 -1
  149. package/cli/storybook-dist/assets/{RBPagination.stories-2v2gBJfC.js → RBPagination.stories-DWCeoZ_S.js} +1 -1
  150. package/cli/storybook-dist/assets/{RBPopover.stories-C8iLIZpv.js → RBPopover.stories-C514M09_.js} +1 -1
  151. package/cli/storybook-dist/assets/{RBPrompt.stories-Th_HrWHI.js → RBPrompt.stories-BSItvfiT.js} +1 -1
  152. package/cli/storybook-dist/assets/{RBRadioBox.stories-CoHuLaN3.js → RBRadioBox.stories-BBb4YbFU.js} +1 -1
  153. package/cli/storybook-dist/assets/{RBRadioButton.stories-DULxE_ff.js → RBRadioButton.stories-CXyOGJCv.js} +1 -1
  154. package/cli/storybook-dist/assets/{RBRangeDateInput.stories-D8A9KBSS.js → RBRangeDateInput.stories-qvhubu0e.js} +1 -1
  155. package/cli/storybook-dist/assets/{RBResizable.stories-C41QfrQ3.js → RBResizable.stories-CZKeyGjH.js} +14 -14
  156. package/cli/storybook-dist/assets/{RBSelectBox.stories-C1gNmwzw.js → RBSelectBox.stories-CRKP3ybf.js} +1 -1
  157. package/cli/storybook-dist/assets/RBSheet.stories-sCM3ZJUa.js +39 -0
  158. package/cli/storybook-dist/assets/{RBSideNumberInput.stories-9LlgQ8nh.js → RBSideNumberInput.stories-Bb7gw8RF.js} +3 -3
  159. package/cli/storybook-dist/assets/{RBSlider.stories-oUgo5K9d.js → RBSlider.stories-23OAQU5z.js} +3 -3
  160. package/cli/storybook-dist/assets/{RBSpinner.stories-DDpohbY2.js → RBSpinner.stories-2xcQdcmt.js} +1 -1
  161. package/cli/storybook-dist/assets/{RBSwitch.stories-gW-GN7QO.js → RBSwitch.stories-BACUaJm_.js} +7 -7
  162. package/cli/storybook-dist/assets/{RBTab.stories-CN-PV3HH.js → RBTab.stories-CDHE3sVs.js} +1 -1
  163. package/cli/storybook-dist/assets/{RBTable.stories-BAZLpxtM.js → RBTable.stories-C0Cfhfl7.js} +29 -29
  164. package/cli/storybook-dist/assets/{RBTableRow.stories-CwjVrszB.js → RBTableRow.stories-BF8kIkpp.js} +1 -1
  165. package/cli/storybook-dist/assets/{RBTabs.stories-JuEo2sUL.js → RBTabs.stories-BdJWRq1o.js} +7 -7
  166. package/cli/storybook-dist/assets/{RBTextArea.stories-D0_Pv4qZ.js → RBTextArea.stories-CGy2xeYH.js} +3 -3
  167. package/cli/storybook-dist/assets/{RBTextField.stories-CCsOvZqV.js → RBTextField.stories-IfUOzxCM.js} +15 -15
  168. package/cli/storybook-dist/assets/{RBTextInput.stories-Cccn3VNm.js → RBTextInput.stories-VjXNFo4R.js} +3 -3
  169. package/cli/storybook-dist/assets/{RBToast.stories-I5617t0K.js → RBToast.stories-BzcobblV.js} +1 -1
  170. package/cli/storybook-dist/assets/{RBToggle.stories-DsgKjGsJ.js → RBToggle.stories-DuLE5mKv.js} +4 -4
  171. package/cli/storybook-dist/assets/{RBToggleGroup.stories-BZEzSDuz.js → RBToggleGroup.stories-CuR0N0GJ.js} +5 -5
  172. package/cli/storybook-dist/assets/{RBTooltip.stories-4oSyAWsA.js → RBTooltip.stories--aAgNC8_.js} +1 -1
  173. package/cli/storybook-dist/assets/{SideNumberInput-DSKbd0bG.js → SideNumberInput-DyWQxYUj.js} +743 -743
  174. package/cli/storybook-dist/assets/{entry-preview-B35XREGs.js → entry-preview-D7IHsza_.js} +1 -1
  175. package/cli/storybook-dist/assets/{iframe-BB797lmL.js → iframe-CbaIp5I-.js} +2 -2
  176. package/cli/storybook-dist/assets/{index-BU2567EP.js → index-C6CBgMuG.js} +3 -3
  177. package/cli/storybook-dist/assets/{preview-C7DaSWyc.js → preview-B-iYLDuW.js} +2 -2
  178. package/cli/storybook-dist/assets/{preview-CbuRHit4.js → preview-CRWqc9DH.js} +1 -1
  179. package/cli/storybook-dist/assets/{react-resizable-panels.browser-ChIvlwo7.js → react-resizable-panels.browser-8hC8dr-6.js} +8 -8
  180. package/cli/storybook-dist/iframe.html +2 -2
  181. package/cli/storybook-dist/index.html +1 -1
  182. package/cli/storybook-dist/project.json +1 -1
  183. package/cli/templates/common/.mcp.json +8 -8
  184. package/cli/templates/common/README.md +1231 -1231
  185. package/cli/templates/common/assets/icon.svg +45 -45
  186. package/cli/templates/common/manifest.json +26 -26
  187. package/cli/templates/common/package.json +22 -22
  188. package/cli/templates/common/py/main.py +125 -125
  189. package/cli/templates/common/tsconfig.json +13 -13
  190. package/cli/templates/common/ui/content.tsx +216 -216
  191. package/cli/templates/common/ui/style.css +6 -6
  192. package/cli/templates/common/vite.config.ts +10 -10
  193. package/cli/templates/cpp/cpp/main.cpp +73 -73
  194. package/cli/templates/ros2/ros2_ws/src/__PLUGIN_SLUG__/__PLUGIN_SLUG__/node.py +25 -25
  195. package/cli/templates/ros2/ros2_ws/src/__PLUGIN_SLUG__/package.xml +10 -10
  196. package/cli/templates/ros2/ros2_ws/src/__PLUGIN_SLUG__/setup.py +18 -18
  197. package/cli/templates/ros2-cpp/ros2_ws/src/__PLUGIN_SLUG__/package.xml +11 -11
  198. package/cli/templates/ros2-cpp/ros2_ws/src/__PLUGIN_SLUG__/src/node.cpp +23 -23
  199. package/cli/vite.d.mts +25 -25
  200. package/cli/vite.mjs +292 -292
  201. package/package.json +3 -3
  202. package/cli/storybook-dist/assets/RBCommand.stories-BSqXDkKw.js +0 -73
  203. package/cli/storybook-dist/assets/RBDialog.stories-BAktz-ku.js +0 -38
  204. package/cli/storybook-dist/assets/RBDropdownMenu.stories-DbW2fWAj.js +0 -86
  205. package/cli/storybook-dist/assets/RBSheet.stories-_6VH-RUm.js +0 -39
@@ -1,117 +1,117 @@
1
- import { useState } from "react";
2
- import type { ComponentProps, ReactElement } from "react";
3
- import type { Meta, StoryFn, StoryObj } from "@storybook/react";
4
-
5
- import { RBSimpleToast } from "@repo/rb-components/new_components";
6
- import {
7
- RBToastContainer,
8
- toast,
9
- type ToastType,
10
- type ToastVariant,
11
- } from "@repo/rb-modules/RBToast";
12
-
13
- type StoryArgs = ComponentProps<typeof RBToastContainer> & {
14
- variant: ToastVariant;
15
- type: ToastType;
16
- icon?: ReactElement;
17
- actionLabel?: string;
18
- handleActionClick?: () => void;
19
- closeOnActionClick?: boolean;
20
- };
21
-
22
- type StoryComponent = StoryObj<StoryArgs>;
23
- type StoryTemplate = StoryFn<StoryArgs>;
24
-
25
- // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
26
- export default {
27
- component: RBToastContainer,
28
- tags: ["autodocs"],
29
- args: {
30
- position: "top-left",
31
- type: "basic",
32
- variant: "default",
33
- actionLabel: "",
34
- closeOnActionClick: true,
35
- },
36
- argTypes: {
37
- position: {
38
- control: { type: "select" },
39
- options: [
40
- "top-center",
41
- "top-left",
42
- "top-right",
43
- "bottom-center",
44
- "bottom-left",
45
- "bottom-right",
46
- ],
47
- },
48
- variant: {
49
- control: { type: "select" },
50
- options: ["default", "danger", "warning", "caution", "success", "copy"],
51
- },
52
- type: {
53
- control: { type: "select" },
54
- options: ["basic", "alert"],
55
- },
56
- icon: { control: false },
57
- actionLabel: {
58
- control: { type: "text" },
59
- description: "액션 버튼 라벨",
60
- },
61
- handleActionClick: {
62
- control: false,
63
- description: "액션 버튼 클릭 시 실행할 함수",
64
- },
65
- closeOnActionClick: {
66
- control: { type: "boolean" },
67
- description: "액션 버튼 클릭 뒤 토스트를 닫을지 여부",
68
- },
69
- },
70
- } as Meta<StoryArgs>;
71
-
72
- const Template: StoryTemplate = (args) => {
73
- const [count, setCount] = useState(0);
74
-
75
- const handleClick = () => {
76
- setCount(count + 1);
77
- toast.openToast({
78
- title: `Toast Title ${count}`,
79
- content: `This is a toast message long test long test long test long test long test long test.`,
80
- icon: args.icon,
81
- actionLabel: args.actionLabel || undefined,
82
- handleActionClick: args.actionLabel
83
- ? () => console.info("toast action clicked")
84
- : undefined,
85
- closeOnActionClick: args.closeOnActionClick,
86
- type: args.type as ToastType,
87
- variant: args.variant as ToastVariant,
88
- position: args.position,
89
- duration: args.duration,
90
- });
91
- };
92
-
93
- return (
94
- <div className="border-danger flex h-100 flex-col items-center justify-center border-1">
95
- <RBToastContainer
96
- position={args.position}
97
- duration={args.duration}
98
- toastComponent={RBSimpleToast}
99
- />
100
- <button onClick={handleClick} className="text-fg-default">
101
- open toast
102
- </button>
103
- </div>
104
- );
105
- };
106
-
107
- export const Default: StoryComponent = {
108
- parameters: {
109
- docs: {
110
- description: {
111
- story: "",
112
- },
113
- },
114
- },
115
- args: {},
116
- render: Template,
117
- };
1
+ import { useState } from "react";
2
+ import type { ComponentProps, ReactElement } from "react";
3
+ import type { Meta, StoryFn, StoryObj } from "@storybook/react";
4
+
5
+ import { RBSimpleToast } from "@repo/rb-components/new_components";
6
+ import {
7
+ RBToastContainer,
8
+ toast,
9
+ type ToastType,
10
+ type ToastVariant,
11
+ } from "@repo/rb-modules/RBToast";
12
+
13
+ type StoryArgs = ComponentProps<typeof RBToastContainer> & {
14
+ variant: ToastVariant;
15
+ type: ToastType;
16
+ icon?: ReactElement;
17
+ actionLabel?: string;
18
+ handleActionClick?: () => void;
19
+ closeOnActionClick?: boolean;
20
+ };
21
+
22
+ type StoryComponent = StoryObj<StoryArgs>;
23
+ type StoryTemplate = StoryFn<StoryArgs>;
24
+
25
+ // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
26
+ export default {
27
+ component: RBToastContainer,
28
+ tags: ["autodocs"],
29
+ args: {
30
+ position: "top-left",
31
+ type: "basic",
32
+ variant: "default",
33
+ actionLabel: "",
34
+ closeOnActionClick: true,
35
+ },
36
+ argTypes: {
37
+ position: {
38
+ control: { type: "select" },
39
+ options: [
40
+ "top-center",
41
+ "top-left",
42
+ "top-right",
43
+ "bottom-center",
44
+ "bottom-left",
45
+ "bottom-right",
46
+ ],
47
+ },
48
+ variant: {
49
+ control: { type: "select" },
50
+ options: ["default", "danger", "warning", "caution", "success", "copy"],
51
+ },
52
+ type: {
53
+ control: { type: "select" },
54
+ options: ["basic", "alert"],
55
+ },
56
+ icon: { control: false },
57
+ actionLabel: {
58
+ control: { type: "text" },
59
+ description: "액션 버튼 라벨",
60
+ },
61
+ handleActionClick: {
62
+ control: false,
63
+ description: "액션 버튼 클릭 시 실행할 함수",
64
+ },
65
+ closeOnActionClick: {
66
+ control: { type: "boolean" },
67
+ description: "액션 버튼 클릭 뒤 토스트를 닫을지 여부",
68
+ },
69
+ },
70
+ } as Meta<StoryArgs>;
71
+
72
+ const Template: StoryTemplate = (args) => {
73
+ const [count, setCount] = useState(0);
74
+
75
+ const handleClick = () => {
76
+ setCount(count + 1);
77
+ toast.openToast({
78
+ title: `Toast Title ${count}`,
79
+ content: `This is a toast message long test long test long test long test long test long test.`,
80
+ icon: args.icon,
81
+ actionLabel: args.actionLabel || undefined,
82
+ handleActionClick: args.actionLabel
83
+ ? () => console.info("toast action clicked")
84
+ : undefined,
85
+ closeOnActionClick: args.closeOnActionClick,
86
+ type: args.type as ToastType,
87
+ variant: args.variant as ToastVariant,
88
+ position: args.position,
89
+ duration: args.duration,
90
+ });
91
+ };
92
+
93
+ return (
94
+ <div className="border-danger flex h-100 flex-col items-center justify-center border-1">
95
+ <RBToastContainer
96
+ position={args.position}
97
+ duration={args.duration}
98
+ toastComponent={RBSimpleToast}
99
+ />
100
+ <button onClick={handleClick} className="text-fg-default">
101
+ open toast
102
+ </button>
103
+ </div>
104
+ );
105
+ };
106
+
107
+ export const Default: StoryComponent = {
108
+ parameters: {
109
+ docs: {
110
+ description: {
111
+ story: "",
112
+ },
113
+ },
114
+ },
115
+ args: {},
116
+ render: Template,
117
+ };
@@ -1,50 +1,50 @@
1
- import type { Meta, StoryObj, StoryFn } from "@storybook/react";
2
- import { RBTooltip } from "@repo/rb-components/new_components";
3
-
4
- type StoryComponent = StoryObj<typeof RBTooltip>;
5
- type StoryTemplate = StoryFn<typeof RBTooltip>;
6
-
7
- const count = 0;
8
-
9
- export default {
10
- component: RBTooltip,
11
- tags: ["autodocs"],
12
- argTypes: {
13
- place: {
14
- control: "radio",
15
- options: ["top", "left", "bottom", "right"],
16
- defaultValue: "bottom",
17
- },
18
- tooltipColor: {
19
- control: "color",
20
- },
21
- tooltipTextColor: {
22
- control: "color",
23
- },
24
- },
25
- } as Meta<typeof RBTooltip>;
26
-
27
- // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
28
- const Template: StoryTemplate = (args) => {
29
- return (
30
- <div className="flex items-center justify-center p-30">
31
- <button
32
- className="text-fg-default border-danger border-1"
33
- id={`${args.anchorId}${count}`}
34
- >
35
- Tooltip
36
- </button>
37
- <RBTooltip {...args} anchorId={`${args.anchorId}${count}`} />
38
- </div>
39
- );
40
- };
41
-
42
- export const Default: StoryComponent = {
43
- args: {
44
- anchorId: "tooltip-anchor",
45
- children: "Tooltip Content",
46
- events: ["hover"],
47
- place: "top",
48
- },
49
- render: Template,
50
- };
1
+ import type { Meta, StoryObj, StoryFn } from "@storybook/react";
2
+ import { RBTooltip } from "@repo/rb-components/new_components";
3
+
4
+ type StoryComponent = StoryObj<typeof RBTooltip>;
5
+ type StoryTemplate = StoryFn<typeof RBTooltip>;
6
+
7
+ const count = 0;
8
+
9
+ export default {
10
+ component: RBTooltip,
11
+ tags: ["autodocs"],
12
+ argTypes: {
13
+ place: {
14
+ control: "radio",
15
+ options: ["top", "left", "bottom", "right"],
16
+ defaultValue: "bottom",
17
+ },
18
+ tooltipColor: {
19
+ control: "color",
20
+ },
21
+ tooltipTextColor: {
22
+ control: "color",
23
+ },
24
+ },
25
+ } as Meta<typeof RBTooltip>;
26
+
27
+ // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
28
+ const Template: StoryTemplate = (args) => {
29
+ return (
30
+ <div className="flex items-center justify-center p-30">
31
+ <button
32
+ className="text-fg-default border-danger border-1"
33
+ id={`${args.anchorId}${count}`}
34
+ >
35
+ Tooltip
36
+ </button>
37
+ <RBTooltip {...args} anchorId={`${args.anchorId}${count}`} />
38
+ </div>
39
+ );
40
+ };
41
+
42
+ export const Default: StoryComponent = {
43
+ args: {
44
+ anchorId: "tooltip-anchor",
45
+ children: "Tooltip Content",
46
+ events: ["hover"],
47
+ place: "top",
48
+ },
49
+ render: Template,
50
+ };
@@ -1,30 +1,30 @@
1
- import type { Meta, StoryObj, StoryFn } from "@storybook/react";
2
- import { RBSpinner } from "@repo/rb-components/new_components";
3
-
4
- type StoryComponent = StoryObj<typeof RBSpinner>;
5
- type StoryTemplate = StoryFn<typeof RBSpinner>;
6
-
7
- // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
8
- export default {
9
- component: RBSpinner,
10
- tags: ["autodocs"],
11
- } as Meta<typeof RBSpinner>;
12
-
13
- const Template: StoryTemplate = (args) => {
14
- return <RBSpinner {...args} />;
15
- };
16
-
17
- export const Default: StoryComponent = {
18
- parameters: {
19
- docs: {
20
- description: {
21
- story: "",
22
- },
23
- },
24
- },
25
- args: {
26
- size: "1.5rem",
27
- className: "text-fg-default",
28
- },
29
- render: Template,
30
- };
1
+ import type { Meta, StoryObj, StoryFn } from "@storybook/react";
2
+ import { RBSpinner } from "@repo/rb-components/new_components";
3
+
4
+ type StoryComponent = StoryObj<typeof RBSpinner>;
5
+ type StoryTemplate = StoryFn<typeof RBSpinner>;
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
8
+ export default {
9
+ component: RBSpinner,
10
+ tags: ["autodocs"],
11
+ } as Meta<typeof RBSpinner>;
12
+
13
+ const Template: StoryTemplate = (args) => {
14
+ return <RBSpinner {...args} />;
15
+ };
16
+
17
+ export const Default: StoryComponent = {
18
+ parameters: {
19
+ docs: {
20
+ description: {
21
+ story: "",
22
+ },
23
+ },
24
+ },
25
+ args: {
26
+ size: "1.5rem",
27
+ className: "text-fg-default",
28
+ },
29
+ render: Template,
30
+ };
@@ -1,54 +1,54 @@
1
- import type { Meta, StoryObj, StoryFn } from "@storybook/react";
2
- import NxButton from "@nexus/components/shared/button/NxButton";
3
-
4
- type StoryComponent = StoryObj<typeof NxButton>;
5
- type StoryTemplate = StoryFn<typeof NxButton>;
6
-
7
- // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
8
- export default {
9
- component: NxButton,
10
- tags: ["autodocs"],
11
- argTypes: {
12
- children: {
13
- control: "text",
14
- description: "버튼에 표시될 내용",
15
- table: {
16
- type: {
17
- summary: "string | ReactNode",
18
- },
19
- },
20
- },
21
- size: {
22
- control: { type: "select" },
23
- options: ["default", "sm", "lg", "icon"],
24
- description: "버튼 크기",
25
- table: {
26
- type: {
27
- summary: `"default" | "sm" | "lg" | "icon"`,
28
- },
29
- defaultValue: {
30
- summary: "default",
31
- },
32
- },
33
- },
34
- },
35
- } as Meta<typeof NxButton>;
36
-
37
- const Template: StoryTemplate = (args) => {
38
- return <NxButton {...args} />;
39
- };
40
-
41
- export const Default: StoryComponent = {
42
- parameters: {
43
- docs: {
44
- description: {
45
- story: "",
46
- },
47
- },
48
- },
49
- args: {
50
- children: "NexusButton",
51
- size: "default",
52
- },
53
- render: Template,
54
- };
1
+ import type { Meta, StoryObj, StoryFn } from "@storybook/react";
2
+ import NxButton from "@nexus/components/shared/button/NxButton";
3
+
4
+ type StoryComponent = StoryObj<typeof NxButton>;
5
+ type StoryTemplate = StoryFn<typeof NxButton>;
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
8
+ export default {
9
+ component: NxButton,
10
+ tags: ["autodocs"],
11
+ argTypes: {
12
+ children: {
13
+ control: "text",
14
+ description: "버튼에 표시될 내용",
15
+ table: {
16
+ type: {
17
+ summary: "string | ReactNode",
18
+ },
19
+ },
20
+ },
21
+ size: {
22
+ control: { type: "select" },
23
+ options: ["default", "sm", "lg", "icon"],
24
+ description: "버튼 크기",
25
+ table: {
26
+ type: {
27
+ summary: `"default" | "sm" | "lg" | "icon"`,
28
+ },
29
+ defaultValue: {
30
+ summary: "default",
31
+ },
32
+ },
33
+ },
34
+ },
35
+ } as Meta<typeof NxButton>;
36
+
37
+ const Template: StoryTemplate = (args) => {
38
+ return <NxButton {...args} />;
39
+ };
40
+
41
+ export const Default: StoryComponent = {
42
+ parameters: {
43
+ docs: {
44
+ description: {
45
+ story: "",
46
+ },
47
+ },
48
+ },
49
+ args: {
50
+ children: "NexusButton",
51
+ size: "default",
52
+ },
53
+ render: Template,
54
+ };
@@ -1,57 +1,57 @@
1
- import type { Meta, StoryObj, StoryFn } from "@storybook/react";
2
- import NxPointerHoldButton from "@nexus/components/shared/button/NxPointerHoldButton";
3
-
4
- type StoryComponent = StoryObj<typeof NxPointerHoldButton>;
5
- type StoryTemplate = StoryFn<typeof NxPointerHoldButton>;
6
-
7
- // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
8
- export default {
9
- component: NxPointerHoldButton,
10
- tags: ["autodocs"],
11
- argTypes: {
12
- children: {
13
- control: "text",
14
- description: "버튼에 표시될 내용",
15
- table: {
16
- type: {
17
- summary: "string | ReactNode",
18
- },
19
- },
20
- },
21
- size: {
22
- control: { type: "select" },
23
- options: ["default", "sm", "lg", "icon"],
24
- description: "버튼 크기",
25
- table: {
26
- type: {
27
- summary: `"default" | "sm" | "lg" | "icon"`,
28
- },
29
- defaultValue: {
30
- summary: "default",
31
- },
32
- },
33
- },
34
- disabled: {
35
- type: "boolean",
36
- },
37
- },
38
- } as Meta<typeof NxPointerHoldButton>;
39
-
40
- const Template: StoryTemplate = (args) => {
41
- return <NxPointerHoldButton {...args} />;
42
- };
43
-
44
- export const Default: StoryComponent = {
45
- parameters: {
46
- docs: {
47
- description: {
48
- story: "",
49
- },
50
- },
51
- },
52
- args: {
53
- children: "Hold Button",
54
- size: "sm",
55
- },
56
- render: Template,
57
- };
1
+ import type { Meta, StoryObj, StoryFn } from "@storybook/react";
2
+ import NxPointerHoldButton from "@nexus/components/shared/button/NxPointerHoldButton";
3
+
4
+ type StoryComponent = StoryObj<typeof NxPointerHoldButton>;
5
+ type StoryTemplate = StoryFn<typeof NxPointerHoldButton>;
6
+
7
+ // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction
8
+ export default {
9
+ component: NxPointerHoldButton,
10
+ tags: ["autodocs"],
11
+ argTypes: {
12
+ children: {
13
+ control: "text",
14
+ description: "버튼에 표시될 내용",
15
+ table: {
16
+ type: {
17
+ summary: "string | ReactNode",
18
+ },
19
+ },
20
+ },
21
+ size: {
22
+ control: { type: "select" },
23
+ options: ["default", "sm", "lg", "icon"],
24
+ description: "버튼 크기",
25
+ table: {
26
+ type: {
27
+ summary: `"default" | "sm" | "lg" | "icon"`,
28
+ },
29
+ defaultValue: {
30
+ summary: "default",
31
+ },
32
+ },
33
+ },
34
+ disabled: {
35
+ type: "boolean",
36
+ },
37
+ },
38
+ } as Meta<typeof NxPointerHoldButton>;
39
+
40
+ const Template: StoryTemplate = (args) => {
41
+ return <NxPointerHoldButton {...args} />;
42
+ };
43
+
44
+ export const Default: StoryComponent = {
45
+ parameters: {
46
+ docs: {
47
+ description: {
48
+ story: "",
49
+ },
50
+ },
51
+ },
52
+ args: {
53
+ children: "Hold Button",
54
+ size: "sm",
55
+ },
56
+ render: Template,
57
+ };