@nobak/design-system 1.0.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 (304) hide show
  1. package/LICENSE +73 -0
  2. package/README.md +142 -0
  3. package/lib/assets/icons.js +67 -0
  4. package/lib/components/AccountOverview/AccountOverview.js +122 -0
  5. package/lib/components/AdminPanel.js +58 -0
  6. package/lib/components/AssetExchange/AssetExchange.js +189 -0
  7. package/lib/components/AuthenticationFlow.js +216 -0
  8. package/lib/components/ConversationInterface/ConversationInterface.js +232 -0
  9. package/lib/components/DevFooter.js +38 -0
  10. package/lib/components/DevMenu.js +35 -0
  11. package/lib/components/DevSidebar.js +28 -0
  12. package/lib/components/DigitalDisplay.js +83 -0
  13. package/lib/components/Footer.js +45 -0
  14. package/lib/components/HeroContainer.js +10 -0
  15. package/lib/components/IntentRecognition/IntentRecognition.js +174 -0
  16. package/lib/components/Logo.js +259 -0
  17. package/lib/components/MenuBar.js +56 -0
  18. package/lib/components/NetworkSettings.js +223 -0
  19. package/lib/components/RecoverySetup/RecoverySetup.js +354 -0
  20. package/lib/components/RisingSun.js +122 -0
  21. package/lib/components/Symbol.js +226 -0
  22. package/lib/components/TransactionComposer/TransactionComposer.js +258 -0
  23. package/lib/components/TransactionConfirmation.js +184 -0
  24. package/lib/components/WalletMenu.js +33 -0
  25. package/lib/components/console/code/CodeBlock.js +150 -0
  26. package/lib/components/console/code/index.js +9 -0
  27. package/lib/components/console/data/DataTable.js +245 -0
  28. package/lib/components/console/data/MetricCard.js +79 -0
  29. package/lib/components/console/data/index.js +11 -0
  30. package/lib/components/console/documentation/index.js +10 -0
  31. package/lib/components/console/forms/APIKeyGenerator.js +261 -0
  32. package/lib/components/console/forms/SearchBar.js +210 -0
  33. package/lib/components/console/forms/index.js +10 -0
  34. package/lib/components/console/index.js +29 -0
  35. package/lib/components/console/layout/ConsoleCard.js +82 -0
  36. package/lib/components/console/layout/ConsoleLayout.js +86 -0
  37. package/lib/components/console/layout/index.js +10 -0
  38. package/lib/components/console/monitoring/StatusIndicator.js +128 -0
  39. package/lib/components/console/monitoring/index.js +9 -0
  40. package/lib/components/console/navigation/DevFooter.js +38 -0
  41. package/lib/components/console/navigation/DevMenu.js +35 -0
  42. package/lib/components/console/navigation/DevSidebar.js +28 -0
  43. package/lib/components/console/navigation/index.js +11 -0
  44. package/lib/components/console/settings/index.js +10 -0
  45. package/lib/components/index.js +12 -0
  46. package/lib/design/ColorPicker.stories.js +9 -0
  47. package/lib/design/HSLTool-V1.js +345 -0
  48. package/lib/design/HSLTool-V2.js +475 -0
  49. package/lib/design/HSLTool-V3.js +543 -0
  50. package/lib/design/HSLTool-V4.js +1139 -0
  51. package/lib/design/HSLTool.js +374 -0
  52. package/lib/design/OKLCHColorPicker.stories.js +24 -0
  53. package/lib/design/OKLCHTool.js +1014 -0
  54. package/lib/index.js +4 -0
  55. package/lib/shared/components/Avatar/Avatar.js +18 -0
  56. package/lib/shared/components/Avatar/index.js +1 -0
  57. package/lib/shared/components/Badge/Badge.js +34 -0
  58. package/lib/shared/components/Badge/index.js +1 -0
  59. package/lib/shared/components/Breadcrumb/Breadcrumb.js +13 -0
  60. package/lib/shared/components/Breadcrumb/index.js +1 -0
  61. package/lib/shared/components/Button/Button.js +184 -0
  62. package/lib/shared/components/Button/index.js +1 -0
  63. package/lib/shared/components/Calendar/Calendar.js +155 -0
  64. package/lib/shared/components/Calendar/CalendarDay.js +251 -0
  65. package/lib/shared/components/Calendar/CalendarHeader.js +88 -0
  66. package/lib/shared/components/Calendar/CalendarMonth.js +106 -0
  67. package/lib/shared/components/Calendar/CalendarWeek.js +267 -0
  68. package/lib/shared/components/Calendar/constants.js +73 -0
  69. package/lib/shared/components/Calendar/index.js +3 -0
  70. package/lib/shared/components/Calendar/types.d.js +0 -0
  71. package/lib/shared/components/Cartel/Cartel.js +44 -0
  72. package/lib/shared/components/Cartel/index.js +1 -0
  73. package/lib/shared/components/Cell/Cell.js +105 -0
  74. package/lib/shared/components/Cell/index.js +1 -0
  75. package/lib/shared/components/Checkbox/Checkbox.js +27 -0
  76. package/lib/shared/components/Checkbox/index.js +1 -0
  77. package/lib/shared/components/Clock/Clock.js +6 -0
  78. package/lib/shared/components/Clock/index.js +1 -0
  79. package/lib/shared/components/ColorChecker/ColorChecker.js +89 -0
  80. package/lib/shared/components/ColorChecker/index.js +2 -0
  81. package/lib/shared/components/ColorChecker/utils.js +159 -0
  82. package/lib/shared/components/Command/Command.js +95 -0
  83. package/lib/shared/components/Command/index.js +1 -0
  84. package/lib/shared/components/Container/Container.js +18 -0
  85. package/lib/shared/components/Container/index.js +1 -0
  86. package/lib/shared/components/Cover/Cover.js +17 -0
  87. package/lib/shared/components/Cover/index.js +1 -0
  88. package/lib/shared/components/DatePicker/DatePicker.js +52 -0
  89. package/lib/shared/components/DatePicker/components/Calendar.js +125 -0
  90. package/lib/shared/components/DatePicker/components/CalendarDay.js +23 -0
  91. package/lib/shared/components/DatePicker/components/DateWrapper.js +15 -0
  92. package/lib/shared/components/DatePicker/components/index.js +2 -0
  93. package/lib/shared/components/DatePicker/index.js +1 -0
  94. package/lib/shared/components/DateTime/DateTime.js +51 -0
  95. package/lib/shared/components/DateTime/index.js +1 -0
  96. package/lib/shared/components/Debug/Debug.js +12 -0
  97. package/lib/shared/components/Debug/index.js +1 -0
  98. package/lib/shared/components/Disclosure/Disclosure.js +31 -0
  99. package/lib/shared/components/Disclosure/index.js +1 -0
  100. package/lib/shared/components/Dropdown/Dropdown.js +91 -0
  101. package/lib/shared/components/Dropdown/index.js +1 -0
  102. package/lib/shared/components/EmptyState/EmptyState.js +40 -0
  103. package/lib/shared/components/EmptyState/index.js +1 -0
  104. package/lib/shared/components/Form/Form.js +41 -0
  105. package/lib/shared/components/Form/components/DynamicForm.js +66 -0
  106. package/lib/shared/components/Form/components/StepperForm.js +266 -0
  107. package/lib/shared/components/Form/components/index.js +2 -0
  108. package/lib/shared/components/Form/context/Form.js +164 -0
  109. package/lib/shared/components/Form/context/index.js +1 -0
  110. package/lib/shared/components/Form/index.js +1 -0
  111. package/lib/shared/components/Form/types.d.js +1 -0
  112. package/lib/shared/components/Form/utils/index.js +31 -0
  113. package/lib/shared/components/GroupItems/GroupItems.js +17 -0
  114. package/lib/shared/components/GroupItems/index.js +1 -0
  115. package/lib/shared/components/Header/Header.js +26 -0
  116. package/lib/shared/components/Header/index.js +1 -0
  117. package/lib/shared/components/Heading/Heading.js +5 -0
  118. package/lib/shared/components/Heading/index.js +1 -0
  119. package/lib/shared/components/Icon/Icon.js +28 -0
  120. package/lib/shared/components/Icon/index.js +1 -0
  121. package/lib/shared/components/Identicons/Identicons.js +6 -0
  122. package/lib/shared/components/Identicons/index.d.js +0 -0
  123. package/lib/shared/components/Identicons/index.js +1 -0
  124. package/lib/shared/components/Image/Image.js +22 -0
  125. package/lib/shared/components/Image/index.js +1 -0
  126. package/lib/shared/components/Input/Input.js +201 -0
  127. package/lib/shared/components/Input/components/CheckBoxInput.js +81 -0
  128. package/lib/shared/components/Input/components/DateInput.js +89 -0
  129. package/lib/shared/components/Input/components/DefaultInput.js +102 -0
  130. package/lib/shared/components/Input/components/FileReaderInput.js +88 -0
  131. package/lib/shared/components/Input/components/NumberInput.js +141 -0
  132. package/lib/shared/components/Input/components/PickerInput.js +122 -0
  133. package/lib/shared/components/Input/components/RCInput.js +112 -0
  134. package/lib/shared/components/Input/components/Radiobox/RadioboxBasic.js +56 -0
  135. package/lib/shared/components/Input/components/Radiobox/RadioboxCard.js +27 -0
  136. package/lib/shared/components/Input/components/Radiobox/RadioboxFull.js +44 -0
  137. package/lib/shared/components/Input/components/Radiobox/index.js +3 -0
  138. package/lib/shared/components/Input/components/RadioboxInput.js +102 -0
  139. package/lib/shared/components/Input/components/SelectInput.js +70 -0
  140. package/lib/shared/components/Input/components/TextAreaInput.js +67 -0
  141. package/lib/shared/components/Input/components/TextInput.js +139 -0
  142. package/lib/shared/components/Input/components/TimeInput.js +37 -0
  143. package/lib/shared/components/Input/components/UploadFileInput.js +123 -0
  144. package/lib/shared/components/Input/components/index.js +13 -0
  145. package/lib/shared/components/Input/components/types.d.js +0 -0
  146. package/lib/shared/components/Input/index.js +1 -0
  147. package/lib/shared/components/Input/types.d.js +0 -0
  148. package/lib/shared/components/Layout/Layout.js +13 -0
  149. package/lib/shared/components/Layout/index.js +1 -0
  150. package/lib/shared/components/List/List.js +30 -0
  151. package/lib/shared/components/List/index.js +1 -0
  152. package/lib/shared/components/Loader/Loader.js +27 -0
  153. package/lib/shared/components/Loader/index.js +1 -0
  154. package/lib/shared/components/Modal/Modal.js +102 -0
  155. package/lib/shared/components/Modal/index.js +1 -0
  156. package/lib/shared/components/Notification/Notification.js +39 -0
  157. package/lib/shared/components/Notification/index.js +1 -0
  158. package/lib/shared/components/Person/Person.js +81 -0
  159. package/lib/shared/components/Person/index.js +1 -0
  160. package/lib/shared/components/Popover/Popover.js +39 -0
  161. package/lib/shared/components/Popover/index.js +1 -0
  162. package/lib/shared/components/QRCode/QRCode.js +329 -0
  163. package/lib/shared/components/QRCode/index.js +1 -0
  164. package/lib/shared/components/RadioGroup/RadioGroup.js +35 -0
  165. package/lib/shared/components/RadioGroup/components/DefaultGroup.js +71 -0
  166. package/lib/shared/components/RadioGroup/components/VerticalGroup.js +83 -0
  167. package/lib/shared/components/RadioGroup/components/index.js +2 -0
  168. package/lib/shared/components/RadioGroup/index.js +1 -0
  169. package/lib/shared/components/Search/Search.js +12 -0
  170. package/lib/shared/components/Search/index.js +1 -0
  171. package/lib/shared/components/Select/Select.js +90 -0
  172. package/lib/shared/components/Select/index.js +1 -0
  173. package/lib/shared/components/Sidebar/Sidebar.js +42 -0
  174. package/lib/shared/components/Sidebar/index.js +1 -0
  175. package/lib/shared/components/SlideOver/SlideOver.js +81 -0
  176. package/lib/shared/components/SlideOver/index.js +1 -0
  177. package/lib/shared/components/Slider/Slider.js +80 -0
  178. package/lib/shared/components/Slider/index.js +1 -0
  179. package/lib/shared/components/Stepper/Stepper.js +32 -0
  180. package/lib/shared/components/Stepper/index.js +1 -0
  181. package/lib/shared/components/Steps/Steps.js +53 -0
  182. package/lib/shared/components/Steps/index.js +1 -0
  183. package/lib/shared/components/Switch/Switch.js +26 -0
  184. package/lib/shared/components/Switch/index.js +1 -0
  185. package/lib/shared/components/Tab/Tab.js +59 -0
  186. package/lib/shared/components/Tab/index.js +1 -0
  187. package/lib/shared/components/Table/Table.js +47 -0
  188. package/lib/shared/components/Table/index.js +1 -0
  189. package/lib/shared/components/Text/Text.js +11 -0
  190. package/lib/shared/components/Text/index.js +1 -0
  191. package/lib/shared/components/TextList/TextList.js +15 -0
  192. package/lib/shared/components/TextList/index.js +1 -0
  193. package/lib/shared/components/TimePicker/TimePicker.js +161 -0
  194. package/lib/shared/components/TimePicker/index.js +1 -0
  195. package/lib/shared/components/Tooltip/Tooltip.js +13 -0
  196. package/lib/shared/components/Tooltip/index.js +1 -0
  197. package/lib/shared/components/Uploader/Uploader.js +63 -0
  198. package/lib/shared/components/Uploader/index.js +1 -0
  199. package/lib/shared/components/Video/Video.js +20 -0
  200. package/lib/shared/components/Video/index.js +1 -0
  201. package/lib/shared/components/index.d.js +0 -0
  202. package/lib/shared/components/index.js +50 -0
  203. package/lib/shared/elements/Color/ColorPallet.js +20 -0
  204. package/lib/shared/elements/Color/index.js +1 -0
  205. package/lib/shared/elements/Text.js +37 -0
  206. package/lib/shared/elements/index.js +1 -0
  207. package/lib/shared/helpers/FakeLink.js +8 -0
  208. package/lib/shared/helpers/constants.js +359 -0
  209. package/lib/shared/helpers/index.js +2 -0
  210. package/lib/shared/helpers/isEqual.js +56 -0
  211. package/lib/shared/index.d.js +0 -0
  212. package/lib/shared/index.js +1 -0
  213. package/lib/shared/stories/components/Avatar.stories.js +17 -0
  214. package/lib/shared/stories/components/Badge.stories.dev.js +37 -0
  215. package/lib/shared/stories/components/Button.stories.js +553 -0
  216. package/lib/shared/stories/components/Calendar.stories.js +62 -0
  217. package/lib/shared/stories/components/Cartel.stories.js +32 -0
  218. package/lib/shared/stories/components/Checkbox.stories.js +15 -0
  219. package/lib/shared/stories/components/ColorChecker.stories.dev.js +16 -0
  220. package/lib/shared/stories/components/DateTime.stories.js +27 -0
  221. package/lib/shared/stories/components/Disclosure.stories.js +30 -0
  222. package/lib/shared/stories/components/Dropdown.stories.js +39 -0
  223. package/lib/shared/stories/components/Form/Default.stories.js +201 -0
  224. package/lib/shared/stories/components/Form/DummyForm.stories.js +48 -0
  225. package/lib/shared/stories/components/Form/DynamicForm.stories.js +155 -0
  226. package/lib/shared/stories/components/Form/StepperForm.stories.js +138 -0
  227. package/lib/shared/stories/components/Form/ValidateForm.stories.js +70 -0
  228. package/lib/shared/stories/components/Form/Validation.stories.js +184 -0
  229. package/lib/shared/stories/components/GroupItems.stories.js +23 -0
  230. package/lib/shared/stories/components/Header.stories.js +29 -0
  231. package/lib/shared/stories/components/Heading.stories.js +27 -0
  232. package/lib/shared/stories/components/Icon.stories.js +22 -0
  233. package/lib/shared/stories/components/Image.stories.js +23 -0
  234. package/lib/shared/stories/components/Input/Checkbox.stories.js +45 -0
  235. package/lib/shared/stories/components/Input/DatePicker.stories.js +23 -0
  236. package/lib/shared/stories/components/Input/Defaut.stories.js +24 -0
  237. package/lib/shared/stories/components/Input/Number.stories.js +24 -0
  238. package/lib/shared/stories/components/Input/RCI.stories.js +59 -0
  239. package/lib/shared/stories/components/Input/Radiobox.stories.dev.js +28 -0
  240. package/lib/shared/stories/components/Input/Select.stories.dev.js +27 -0
  241. package/lib/shared/stories/components/Input/SelectMultiple.stories.dev.js +510 -0
  242. package/lib/shared/stories/components/Input/Textarea.stories.js +24 -0
  243. package/lib/shared/stories/components/List.stories.js +34 -0
  244. package/lib/shared/stories/components/Loader.stories.js +15 -0
  245. package/lib/shared/stories/components/Modal.stories.js +50 -0
  246. package/lib/shared/stories/components/Notification.stories.js +22 -0
  247. package/lib/shared/stories/components/Person.stories.js +41 -0
  248. package/lib/shared/stories/components/Picker.stories.js +15 -0
  249. package/lib/shared/stories/components/Popover.stories.js +36 -0
  250. package/lib/shared/stories/components/QRCode.stories.js +20 -0
  251. package/lib/shared/stories/components/RadioGroup.stories.js +56 -0
  252. package/lib/shared/stories/components/Select.stories.js +50 -0
  253. package/lib/shared/stories/components/Sidebar.stories.js +35 -0
  254. package/lib/shared/stories/components/Slider.stories.dev.js +48 -0
  255. package/lib/shared/stories/components/Stepper/Stepper.stories.js +38 -0
  256. package/lib/shared/stories/components/Steps.stories.js +15 -0
  257. package/lib/shared/stories/components/Switch.stories.js +15 -0
  258. package/lib/shared/stories/components/Tab.stories.js +15 -0
  259. package/lib/shared/stories/components/Table.stories.js +95 -0
  260. package/lib/shared/stories/components/TextList.stories.js +23 -0
  261. package/lib/shared/stories/components/Tooltip.stories.dev.js +40 -0
  262. package/lib/shared/stories/elements/Color.stories.js +269 -0
  263. package/lib/shared/stories/elements/Text.stories.js +45 -0
  264. package/lib/shared/types/index.js +1 -0
  265. package/lib/stories/Foundation/BrandIdentity.prod.stories.js +510 -0
  266. package/lib/stories/Foundation/Logo.stories.js +19 -0
  267. package/lib/stories/Foundation/RisingSun.stories.js +16 -0
  268. package/lib/stories/Foundation/Shadows.stories.js +601 -0
  269. package/lib/stories/Foundation/Symbol.stories.js +18 -0
  270. package/lib/stories/HeroContainer.stories.js +18 -0
  271. package/lib/styles/accessibilityTokens.js +72 -0
  272. package/lib/styles/borderWidth.js +10 -0
  273. package/lib/styles/colors.js +303 -0
  274. package/lib/styles/elevation.js +240 -0
  275. package/lib/styles/icons.js +218 -0
  276. package/lib/styles/index.js +29 -0
  277. package/lib/styles/motion.js +668 -0
  278. package/lib/styles/opacity.js +10 -0
  279. package/lib/styles/radius.js +11 -0
  280. package/lib/styles/sizing.js +35 -0
  281. package/lib/styles/space.js +24 -0
  282. package/lib/styles/theme/darkTheme.js +471 -0
  283. package/lib/styles/theme/index.js +44 -0
  284. package/lib/styles/theme/lightTheme.js +480 -0
  285. package/lib/styles/theme/themeTypes.js +1 -0
  286. package/lib/styles/theme/themeUtils.js +63 -0
  287. package/lib/styles/typography-advanced.js +510 -0
  288. package/lib/styles/typography.js +1419 -0
  289. package/lib/styles/zIndex.js +19 -0
  290. package/lib/tokens/borders.js +161 -0
  291. package/lib/tokens/colors.js +426 -0
  292. package/lib/tokens/components.js +499 -0
  293. package/lib/tokens/index.js +84 -0
  294. package/lib/tokens/lighting.js +384 -0
  295. package/lib/tokens/motion.js +284 -0
  296. package/lib/tokens/semantic.js +367 -0
  297. package/lib/tokens/shadows.js +114 -0
  298. package/lib/tokens/spacing.js +189 -0
  299. package/lib/tokens/typography.js +268 -0
  300. package/package.json +176 -0
  301. package/styles/generated-tokens.css +677 -0
  302. package/styles/index.css +2 -0
  303. package/styles/main.css +610 -0
  304. package/tailwind.config.js +64 -0
@@ -0,0 +1,226 @@
1
+ import React from 'react';
2
+ var _Symbol = function _Symbol(_ref) {
3
+ var type = _ref.type,
4
+ _ref$color = _ref.color,
5
+ color = _ref$color === void 0 ? '#000000' : _ref$color;
6
+ switch (type) {
7
+ case 'Star':
8
+ return /*#__PURE__*/React.createElement("svg", {
9
+ width: "49",
10
+ height: "24",
11
+ viewBox: "0 0 49 24",
12
+ fill: "none"
13
+ }, /*#__PURE__*/React.createElement("path", {
14
+ d: "M24.5997 6.19181L24.5998 6.19182L24.6006 6.18578C24.6359 5.92176 24.6731 5.6913 24.711 5.49305C24.749 5.6913 24.7861 5.92176 24.8215 6.18578L24.8215 6.18578L24.8224 6.19182L24.8339 6.27084C25.0186 7.64356 25.7412 8.94077 26.7357 9.93521C27.7301 10.9297 29.0273 11.6523 30.4 11.837L30.4791 11.8485L30.4791 11.8486L30.4851 11.8494C30.7491 11.8847 30.9796 11.9219 31.1778 11.9598C30.9796 11.9978 30.7491 12.0349 30.4851 12.0703L30.4851 12.0703L30.4791 12.0711L30.4 12.0827C29.0273 12.2673 27.7301 12.99 26.7357 13.9844C25.7412 14.9789 25.0186 16.2761 24.8339 17.6488L24.8224 17.7278L24.8223 17.7278L24.8215 17.7339C24.7861 17.9979 24.749 18.2283 24.711 18.4266C24.6731 18.2283 24.6359 17.9979 24.6006 17.7339L24.6006 17.7339L24.5997 17.7278L24.5882 17.6488C24.4035 16.2761 23.6809 14.9789 22.6864 13.9844C21.692 12.99 20.3948 12.2673 19.022 12.0827L18.943 12.0711L18.943 12.0711L18.937 12.0703C18.673 12.0349 18.4425 11.9978 18.2442 11.9598C18.4425 11.9219 18.673 11.8847 18.937 11.8494L18.937 11.8494L18.943 11.8485L19.0221 11.837C20.3948 11.6523 21.692 10.9297 22.6864 9.93521C23.6809 8.94077 24.4035 7.64357 24.5882 6.27085L24.5997 6.19181ZM24.9598 4.64828C24.9598 4.6483 24.9595 4.64873 24.9589 4.64952L24.9598 4.64828ZM32.0226 12.2086C32.0226 12.2086 32.0221 12.2083 32.0213 12.2077L32.0226 12.2086ZM24.4623 19.2714C24.4623 19.2713 24.4626 19.2709 24.4632 19.2701L24.4623 19.2714ZM17.3995 11.7111C17.3995 11.711 17.3999 11.7114 17.4007 11.712L17.3995 11.7111Z",
15
+ fill: color,
16
+ stroke: color
17
+ }), /*#__PURE__*/React.createElement("mask", {
18
+ id: "path-2-inside-1_56_411",
19
+ fill: "white"
20
+ }, /*#__PURE__*/React.createElement("path", {
21
+ d: "M25 0C18.3824 0 13 5.38245 13 12C13 18.6176 18.3824 24 25 24C31.6176 24 37 18.6176 37 12C37 5.38447 31.6176 0 25 0ZM25 23.0777C18.883 23.0777 13.9223 18.1191 13.9223 12C13.9223 5.88295 18.8809 0.922302 25 0.922302C31.1191 0.922302 36.0777 5.88093 36.0777 12C36.0777 18.1191 31.1191 23.0777 25 23.0777Z"
22
+ })), /*#__PURE__*/React.createElement("path", {
23
+ d: "M25 0C18.3824 0 13 5.38245 13 12C13 18.6176 18.3824 24 25 24C31.6176 24 37 18.6176 37 12C37 5.38447 31.6176 0 25 0ZM25 23.0777C18.883 23.0777 13.9223 18.1191 13.9223 12C13.9223 5.88295 18.8809 0.922302 25 0.922302C31.1191 0.922302 36.0777 5.88093 36.0777 12C36.0777 18.1191 31.1191 23.0777 25 23.0777Z",
24
+ fill: color
25
+ }), /*#__PURE__*/React.createElement("path", {
26
+ d: "M25 -1C17.8302 -1 12 4.83016 12 12H14C14 5.93473 18.9347 1 25 1V-1ZM12 12C12 19.1699 17.8302 25 25 25V23C18.9347 23 14 18.0653 14 12H12ZM25 25C32.1699 25 38 19.1699 38 12H36C36 18.0653 31.0653 23 25 23V25ZM38 12C38 4.83229 32.17 -1 25 -1V1C31.0652 1 36 5.93664 36 12H38ZM25 22.0777C19.4351 22.0777 14.9223 17.5667 14.9223 12H12.9223C12.9223 18.6715 18.3308 24.0777 25 24.0777V22.0777ZM14.9223 12C14.9223 6.43512 19.4333 1.9223 25 1.9223V-0.0776977C18.3285 -0.0776977 12.9223 5.33079 12.9223 12H14.9223ZM25 1.9223C30.5668 1.9223 35.0777 6.43322 35.0777 12H37.0777C37.0777 5.32865 31.6714 -0.0776977 25 -0.0776977V1.9223ZM35.0777 12C35.0777 17.5668 30.5668 22.0777 25 22.0777V24.0777C31.6714 24.0777 37.0777 18.6714 37.0777 12H35.0777Z",
27
+ fill: color,
28
+ mask: "url(#path-2-inside-1_56_411)"
29
+ }));
30
+ case 'World':
31
+ return /*#__PURE__*/React.createElement("svg", {
32
+ width: "51",
33
+ height: "24",
34
+ viewBox: "0 0 51 24",
35
+ fill: "none"
36
+ }, /*#__PURE__*/React.createElement("path", {
37
+ d: "M49.9641 11.9374C49.984 7.11174 39.1212 3.15507 25.7014 3.09989C12.2817 3.04471 1.38676 6.91192 1.36692 11.7375C1.34708 16.5632 12.2098 20.5198 25.6296 20.575C39.0493 20.6302 49.9443 16.763 49.9641 11.9374Z",
38
+ stroke: color,
39
+ strokeMiterlimit: "10"
40
+ }), /*#__PURE__*/React.createElement("path", {
41
+ d: "M30.1659 11.8581C30.1857 7.03244 28.1859 3.11222 25.6992 3.10199C23.2125 3.09177 21.1806 6.99542 21.1607 11.821C21.1409 16.6467 23.1407 20.5669 25.6274 20.5771C28.1141 20.5873 30.146 16.6837 30.1659 11.8581Z",
42
+ stroke: color,
43
+ strokeMiterlimit: "10"
44
+ }), /*#__PURE__*/React.createElement("path", {
45
+ d: "M39.724 11.896C39.7438 7.07038 33.4654 3.13256 25.7006 3.10064C17.9359 3.06871 11.6253 6.95477 11.6054 11.7804C11.5856 16.606 17.8641 20.5438 25.6288 20.5758C33.3935 20.6077 39.7042 16.7216 39.724 11.896Z",
46
+ stroke: color,
47
+ strokeMiterlimit: "10"
48
+ }), /*#__PURE__*/React.createElement("path", {
49
+ d: "M10.3333 18.3444L40.6759 18.5554",
50
+ stroke: color,
51
+ strokeMiterlimit: "10"
52
+ }), /*#__PURE__*/React.createElement("path", {
53
+ d: "M50 11.5417H1",
54
+ stroke: color,
55
+ strokeMiterlimit: "10"
56
+ }), /*#__PURE__*/React.createElement("path", {
57
+ d: "M47.6666 15.4307H3.33331",
58
+ stroke: color,
59
+ strokeMiterlimit: "10"
60
+ }), /*#__PURE__*/React.createElement("path", {
61
+ d: "M48.4444 9.20837H2.55554",
62
+ stroke: color,
63
+ strokeMiterlimit: "10"
64
+ }), /*#__PURE__*/React.createElement("path", {
65
+ d: "M8 6.09729H43.7778",
66
+ stroke: color,
67
+ strokeMiterlimit: "10"
68
+ }), /*#__PURE__*/React.createElement("path", {
69
+ d: "M34.8132 11.8771C34.833 7.05149 30.7526 3.12271 25.6993 3.10193C20.6459 3.08116 16.5333 6.97625 16.5135 11.8019C16.4936 16.6275 20.5741 20.5563 25.6274 20.577C30.6807 20.5978 34.7933 16.7027 34.8132 11.8771Z",
70
+ stroke: color,
71
+ strokeMiterlimit: "10"
72
+ }), /*#__PURE__*/React.createElement("path", {
73
+ d: "M44.9188 11.9187C44.9386 7.09309 36.3338 3.14571 25.6993 3.10198C15.0649 3.05826 6.42784 6.93475 6.408 11.7604C6.38815 16.586 14.993 20.5334 25.6275 20.5771C36.2619 20.6208 44.8989 16.7443 44.9188 11.9187Z",
74
+ stroke: color,
75
+ strokeMiterlimit: "10"
76
+ }));
77
+ case 'Chip':
78
+ return /*#__PURE__*/React.createElement("svg", {
79
+ width: "49",
80
+ height: "24",
81
+ viewBox: "0 0 49 24",
82
+ fill: "none"
83
+ }, /*#__PURE__*/React.createElement("path", {
84
+ d: "M28.1618 19H21.8382C19.1788 19 17 16.8239 17 14.1618V7.83822C17 5.17883 19.1761 3 21.8382 3H28.1618C30.8212 3 33 5.1761 33 7.83822V14.1618C32.9973 16.8212 30.8212 19 28.1618 19Z",
85
+ stroke: color,
86
+ strokeMiterlimit: "10"
87
+ }), /*#__PURE__*/React.createElement("path", {
88
+ d: "M20 3V0",
89
+ stroke: color,
90
+ strokeMiterlimit: "10"
91
+ }), /*#__PURE__*/React.createElement("path", {
92
+ d: "M22 3V0",
93
+ stroke: color,
94
+ strokeMiterlimit: "10"
95
+ }), /*#__PURE__*/React.createElement("path", {
96
+ d: "M25 3V0",
97
+ stroke: color,
98
+ strokeMiterlimit: "10"
99
+ }), /*#__PURE__*/React.createElement("path", {
100
+ d: "M28 3V0",
101
+ stroke: color,
102
+ strokeMiterlimit: "10"
103
+ }), /*#__PURE__*/React.createElement("path", {
104
+ d: "M30 3V0",
105
+ stroke: color,
106
+ strokeMiterlimit: "10"
107
+ }), /*#__PURE__*/React.createElement("path", {
108
+ d: "M20 23V18",
109
+ stroke: color,
110
+ strokeMiterlimit: "10"
111
+ }), /*#__PURE__*/React.createElement("path", {
112
+ d: "M22 23V19",
113
+ stroke: color,
114
+ strokeMiterlimit: "10"
115
+ }), /*#__PURE__*/React.createElement("path", {
116
+ d: "M25 23V19",
117
+ stroke: color,
118
+ strokeMiterlimit: "10"
119
+ }), /*#__PURE__*/React.createElement("path", {
120
+ d: "M28 23V19",
121
+ stroke: color,
122
+ strokeMiterlimit: "10"
123
+ }), /*#__PURE__*/React.createElement("path", {
124
+ d: "M30 23V18",
125
+ stroke: color,
126
+ strokeMiterlimit: "10"
127
+ }), /*#__PURE__*/React.createElement("path", {
128
+ d: "M32 6H37",
129
+ stroke: color,
130
+ strokeMiterlimit: "10"
131
+ }), /*#__PURE__*/React.createElement("path", {
132
+ d: "M33 8H37",
133
+ stroke: color,
134
+ strokeMiterlimit: "10"
135
+ }), /*#__PURE__*/React.createElement("path", {
136
+ d: "M33 11H37",
137
+ stroke: color,
138
+ strokeMiterlimit: "10"
139
+ }), /*#__PURE__*/React.createElement("path", {
140
+ d: "M33 14H37",
141
+ stroke: color,
142
+ strokeMiterlimit: "10"
143
+ }), /*#__PURE__*/React.createElement("path", {
144
+ d: "M32 16H37",
145
+ stroke: color,
146
+ strokeMiterlimit: "10"
147
+ }), /*#__PURE__*/React.createElement("path", {
148
+ d: "M18 16H13",
149
+ stroke: color,
150
+ strokeMiterlimit: "10"
151
+ }), /*#__PURE__*/React.createElement("path", {
152
+ d: "M17 14H13",
153
+ stroke: color,
154
+ strokeMiterlimit: "10"
155
+ }), /*#__PURE__*/React.createElement("path", {
156
+ d: "M17 11H13",
157
+ stroke: color,
158
+ strokeMiterlimit: "10"
159
+ }), /*#__PURE__*/React.createElement("path", {
160
+ d: "M17 8H13",
161
+ stroke: color,
162
+ strokeMiterlimit: "10"
163
+ }), /*#__PURE__*/React.createElement("path", {
164
+ d: "M18 6H13",
165
+ stroke: color,
166
+ strokeMiterlimit: "10"
167
+ }), /*#__PURE__*/React.createElement("path", {
168
+ d: "M25.5 9.50001L25.5011 9.5C26.6024 9.49761 27.5 10.3936 27.5 11.5C27.5 12.6054 26.6032 13.5 25.5 13.5C24.3943 13.5 23.5 12.6058 23.5 11.5C23.5 10.3943 24.3943 9.50001 25.5 9.50001Z",
169
+ fill: color,
170
+ stroke: color
171
+ }));
172
+ case 'Back':
173
+ return /*#__PURE__*/React.createElement("svg", {
174
+ width: "94",
175
+ height: "27",
176
+ viewBox: "0 0 94 27",
177
+ fill: "none"
178
+ }, /*#__PURE__*/React.createElement("path", {
179
+ d: "M18.684 10.0335C18.7699 11.4868 13.981 12.6927 15.4306 12.7142L29.9269 12.8111C31.3765 12.8326 31.3765 14.5981 29.9269 14.6196L15.4306 14.512C13.981 14.5335 18.7699 15.7393 18.684 17.1926V18.3015C18.684 18.6783 18.2653 18.9044 17.9432 18.6998L10.695 14.0168C10.4051 13.8231 10.4051 13.4032 10.695 13.2094L17.9432 8.52642C18.2653 8.32187 18.684 8.54794 18.684 8.92474V10.0335Z",
180
+ fill: color
181
+ }), /*#__PURE__*/React.createElement("path", {
182
+ d: "M33.964 6.73929H40.192C42.5544 6.73929 43.9288 8.19267 43.9288 10.1305C43.9288 11.8099 42.8337 12.9187 41.6203 13.1771C43.0269 13.3924 44.1865 14.835 44.1865 16.4499C44.1865 18.5384 42.7908 20.0347 40.3533 20.0347H33.9747V6.73929H33.964ZM39.8164 12.3804C41.1479 12.3804 41.8887 11.5407 41.8887 10.4426C41.8887 9.34449 41.1479 8.49408 39.8164 8.49408H35.9613V12.3804H39.8164ZM39.9128 18.2799C41.3088 18.2799 42.1357 17.4834 42.1357 16.1915C42.1357 15.0934 41.3839 14.1352 39.9128 14.1352H35.9506V18.2799H39.9128Z",
183
+ fill: color
184
+ }), /*#__PURE__*/React.createElement("path", {
185
+ d: "M55.4828 17.2788H48.9866L47.9128 20.0347H45.7222L50.9944 6.73929H53.475L58.7472 20.0347H56.5566L55.4828 17.2788ZM49.5555 15.5133H54.9029L52.2184 8.47253L49.5555 15.5133Z",
186
+ fill: color
187
+ }), /*#__PURE__*/React.createElement("path", {
188
+ d: "M59.4881 13.3923C59.4881 9.30141 62.5055 6.51324 66.2853 6.51324C68.8946 6.51324 70.5159 7.7728 71.5575 9.32304L69.8718 10.2165C69.1739 9.09692 67.8637 8.27868 66.296 8.27868C63.6115 8.27868 61.5392 10.3889 61.5392 13.3817C61.5392 16.353 63.6115 18.4846 66.296 18.4846C67.8637 18.4846 69.1739 17.6663 69.8718 16.5467L71.5575 17.4402C70.5052 18.9904 68.8946 20.2501 66.2853 20.2501C62.5162 20.2717 59.4881 17.4832 59.4881 13.3923Z",
189
+ fill: color
190
+ }), /*#__PURE__*/React.createElement("path", {
191
+ d: "M77.2272 14.2536L75.9709 15.664V20.0347H73.9843V6.73929H75.9709V13.3386L81.5224 6.73929H83.9922L78.5265 13.0371L84.4323 20.0347H81.9628L77.2272 14.2536Z",
192
+ fill: color
193
+ }), /*#__PURE__*/React.createElement("path", {
194
+ d: "M80.5346 27H13.4654C6.03477 27 0 20.9391 0 13.5001C0 6.06106 6.0455 0 13.4654 0H80.5346C87.9652 0 94 6.06106 94 13.5001C94 20.9391 87.9652 27 80.5346 27ZM13.4547 1.06578C6.6146 1.06578 1.06305 6.64239 1.06305 13.4893C1.06305 20.3362 6.62534 25.9127 13.4547 25.9127H80.5238C87.3639 25.9127 92.9155 20.3362 92.9155 13.4893C92.9155 6.64239 87.3532 1.06578 80.5238 1.06578H13.4547Z",
195
+ fill: color
196
+ }));
197
+ case 'Next':
198
+ return /*#__PURE__*/React.createElement("svg", {
199
+ width: "94",
200
+ height: "27",
201
+ viewBox: "0 0 94 27",
202
+ fill: "none"
203
+ }, /*#__PURE__*/React.createElement("path", {
204
+ d: "M76.9266 17.1818C76.8407 15.7285 81.6299 14.5227 80.1802 14.5012L65.684 14.4042C64.2344 14.3827 64.2344 12.6172 65.684 12.5957L80.1802 12.7033C81.6299 12.6818 76.8407 11.476 76.9266 10.0227V8.91381C76.9266 8.53702 77.3456 8.31095 77.6677 8.51549L84.9158 13.1985C85.2058 13.3923 85.2058 13.8121 84.9158 14.0059L77.6677 18.689C77.3456 18.8936 76.9266 18.6675 76.9266 18.2907V17.1818Z",
205
+ fill: color
206
+ }), /*#__PURE__*/React.createElement("path", {
207
+ d: "M13.3042 9.82885V20.0347H11.3179V6.73914H13.3687L20.5846 16.7081V6.73914H22.5712V20.0347H20.6383L13.3042 9.82885Z",
208
+ fill: color
209
+ }), /*#__PURE__*/React.createElement("path", {
210
+ d: "M25.9536 6.73914H34.8661V8.49393H27.9509V12.3804H34.7266V14.1351H27.9509V18.2799H34.8661V20.0347H25.9536V6.73914Z",
211
+ fill: color
212
+ }), /*#__PURE__*/React.createElement("path", {
213
+ d: "M42.8336 14.6196L38.8606 20.0455H36.4553L41.5451 13.2308L36.756 6.74991H39.1613L42.8443 11.8528L46.5061 6.74991H48.9114L44.1546 13.2092L49.2014 20.0455H46.8176L42.8336 14.6196Z",
214
+ fill: color
215
+ }), /*#__PURE__*/React.createElement("path", {
216
+ d: "M54.5058 8.49393H50.3931V6.73914H60.5942V8.49393H56.5032V20.0347H54.5166V8.49393H54.5058Z",
217
+ fill: color
218
+ }), /*#__PURE__*/React.createElement("path", {
219
+ d: "M80.5346 27H13.4654C6.03477 27 0 20.9389 0 13.4999C0 6.06093 6.0455 0 13.4654 0H80.5346C87.9652 0 94 6.06093 94 13.4999C94 20.9389 87.9652 27 80.5346 27ZM13.4547 1.06578C6.6146 1.06578 1.06305 6.64226 1.06305 13.4892C1.06305 20.3361 6.62534 25.9127 13.4547 25.9127H80.5238C87.3639 25.9127 92.9155 20.3361 92.9155 13.4892C92.9155 6.64226 87.3532 1.06578 80.5238 1.06578H13.4547Z",
220
+ fill: color
221
+ }));
222
+ default:
223
+ return null;
224
+ }
225
+ };
226
+ export { _Symbol as Symbol };
@@ -0,0 +1,258 @@
1
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
4
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
5
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
6
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
8
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
10
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
11
+ import React, { useState, useEffect } from 'react';
12
+ import { Form } from "../../shared/components/forms/Form/Form";
13
+ import { Button } from "../../shared/elements/Button/Button";
14
+ // Added import
15
+ // If TransactionCard exists, import it. Otherwise, use a placeholder.
16
+ // import { TransactionCard } from '../../shared/components/TransactionCard/TransactionCard';
17
+
18
+ // Placeholder TransactionCard
19
+ var TransactionCard = function TransactionCard(_ref) {
20
+ var tx = _ref.tx;
21
+ return /*#__PURE__*/React.createElement("div", {
22
+ className: "bg-neutral-50 border p-4 rounded-lg mt-4"
23
+ }, /*#__PURE__*/React.createElement("pre", {
24
+ className: "text-xs whitespace-pre-wrap"
25
+ }, JSON.stringify(tx, null, 2)));
26
+ };
27
+
28
+ // Helper for Stellar address validation
29
+ var isValidStellarAddress = function isValidStellarAddress(address) {
30
+ return /^G[A-Z2-7]{55}$/.test(address);
31
+ };
32
+
33
+ // Memo types for Stellar
34
+ var MEMO_TYPES = [{
35
+ label: 'None',
36
+ value: 'none'
37
+ }, {
38
+ label: 'Text',
39
+ value: 'text'
40
+ }, {
41
+ label: ': ',
42
+ value: ', '
43
+ }, {
44
+ label: 'Hash',
45
+ value: 'hash'
46
+ }, {
47
+ label: 'Return',
48
+ value: 'return'
49
+ }];
50
+ export var TransactionComposer = function TransactionComposer(_ref2) {
51
+ var _ref2$availableAssets = _ref2.availableAssets,
52
+ availableAssets = _ref2$availableAssets === void 0 ? [{
53
+ code: 'XLM',
54
+ issuer: '',
55
+ balance: '1000'
56
+ }, {
57
+ code: 'USDC',
58
+ issuer: 'GA...USDC',
59
+ balance: '250'
60
+ }] : _ref2$availableAssets,
61
+ _ref2$networkFee = _ref2.networkFee,
62
+ networkFee = _ref2$networkFee === void 0 ? '0.00001' : _ref2$networkFee,
63
+ _ref2$networkStatus = _ref2.networkStatus,
64
+ networkStatus = _ref2$networkStatus === void 0 ? 'online' : _ref2$networkStatus,
65
+ _ref2$recipientType = _ref2.recipientType,
66
+ recipientType = _ref2$recipientType === void 0 ? 'stellar' : _ref2$recipientType,
67
+ _ref2$scenario = _ref2.scenario,
68
+ scenario = _ref2$scenario === void 0 ? 'simple' : _ref2$scenario;
69
+ // Scenario-driven initial state
70
+ var getInitialRecipient = function getInitialRecipient() {
71
+ if (scenario === 'federated') return 'bob*stellar.org';
72
+ if (scenario === 'error') return 'BADADDRESS';
73
+ return recipientType === 'federated' ? 'bob*stellar.org' : 'GCFX3...';
74
+ };
75
+ var getInitialAsset = function getInitialAsset() {
76
+ return scenario === 'multi-asset' && availableAssets[1] ? availableAssets[1].code : availableAssets[0].code;
77
+ };
78
+ var getInitialAmount = function getInitialAmount() {
79
+ return scenario === 'error' ? '99999' : ': ';
80
+ };
81
+ var getInitialMemoType = function getInitialMemoType() {
82
+ return scenario === 'federated' ? 'text' : 'none';
83
+ };
84
+ var getInitialMemoValue = function getInitialMemoValue() {
85
+ return scenario === 'federated' ? 'Invoice #123' : '';
86
+ };
87
+ var _useState = useState(getInitialRecipient()),
88
+ _useState2 = _slicedToArray(_useState, 2),
89
+ recipient = _useState2[0],
90
+ setRecipient = _useState2[1];
91
+ var _useState3 = useState(''),
92
+ _useState4 = _slicedToArray(_useState3, 2),
93
+ recipientError = _useState4[0],
94
+ setRecipientError = _useState4[1];
95
+ var _useState5 = useState(getInitialAsset()),
96
+ _useState6 = _slicedToArray(_useState5, 2),
97
+ asset = _useState6[0],
98
+ setAsset = _useState6[1];
99
+ var _useState7 = useState(getInitialAmount()),
100
+ _useState8 = _slicedToArray(_useState7, 2),
101
+ amount = _useState8[0],
102
+ setAmount = _useState8[1];
103
+ var _useState9 = useState(''),
104
+ _useState0 = _slicedToArray(_useState9, 2),
105
+ amountError = _useState0[0],
106
+ setAmountError = _useState0[1];
107
+ var _useState1 = useState(getInitialMemoType()),
108
+ _useState10 = _slicedToArray(_useState1, 2),
109
+ memoType = _useState10[0],
110
+ setMemoType = _useState10[1];
111
+ var _useState11 = useState(getInitialMemoValue()),
112
+ _useState12 = _slicedToArray(_useState11, 2),
113
+ memoValue = _useState12[0],
114
+ setMemoValue = _useState12[1];
115
+ var _useState13 = useState(networkFee),
116
+ _useState14 = _slicedToArray(_useState13, 2),
117
+ fee = _useState14[0],
118
+ setFee = _useState14[1];
119
+ var _useState15 = useState(networkStatus),
120
+ _useState16 = _slicedToArray(_useState15, 2),
121
+ netStatus = _useState16[0],
122
+ setNetStatus = _useState16[1];
123
+ var _useState17 = useState(null),
124
+ _useState18 = _slicedToArray(_useState17, 2),
125
+ preview = _useState18[0],
126
+ setPreview = _useState18[1];
127
+
128
+ // Real-time validation
129
+ var validateRecipient = function validateRecipient(value) {
130
+ if (recipientType === 'federated') {
131
+ if (!/^.+\*.+\..+$/.test(value)) {
132
+ setRecipientError('Invalid federated address.');
133
+ } else {
134
+ setRecipientError('');
135
+ }
136
+ } else {
137
+ if (!isValidStellarAddress(value)) {
138
+ setRecipientError('Invalid Stellar address.');
139
+ } else {
140
+ setRecipientError('');
141
+ }
142
+ }
143
+ setRecipient(value);
144
+ };
145
+ var validateAmount = function validateAmount(value) {
146
+ var selectedAsset = availableAssets.find(function (a) {
147
+ return a.code === asset;
148
+ });
149
+ var bal = selectedAsset ? parseFloat(selectedAsset.balance) : 0;
150
+ var num = parseFloat(value);
151
+ if (isNaN(num) || num <= 0) {
152
+ setAmountError('Enter a valid amount.');
153
+ } else if (num > bal) {
154
+ setAmountError('Insufficient balance.');
155
+ } else {
156
+ setAmountError('');
157
+ }
158
+ setAmount(value);
159
+ };
160
+
161
+ // Compose transaction preview
162
+ var handlePreview = function handlePreview() {
163
+ if (!recipient || recipientError || !amount || amountError) return;
164
+ setPreview({
165
+ recipient: recipient,
166
+ asset: asset,
167
+ amount: amount,
168
+ memoType: memoType,
169
+ memoValue: memoValue,
170
+ fee: fee,
171
+ networkStatus: netStatus
172
+ });
173
+ };
174
+
175
+ // Simulate fee estimation and network status
176
+ useEffect(function () {
177
+ setFee(networkFee);
178
+ setNetStatus(networkStatus);
179
+ }, [asset, amount, networkFee, networkStatus]);
180
+ return /*#__PURE__*/React.createElement("div", {
181
+ className: "w-full max-w-lg mx-auto bg-white rounded-xl shadow-md p-6 mt-4 flex flex-col gap-6"
182
+ }, /*#__PURE__*/React.createElement(Form, {
183
+ fields: [[{
184
+ id: 'recipient',
185
+ type: 'text',
186
+ label: 'Recipient',
187
+ value: recipient,
188
+ onChange: function onChange(e) {
189
+ return validateRecipient(e.target.value);
190
+ },
191
+ error: recipientError,
192
+ placeholder: recipientType === 'federated' ? 'bob*stellar.org' : 'G... or federated address'
193
+ }, {
194
+ id: 'asset',
195
+ type: 'select',
196
+ label: 'Asset',
197
+ value: asset,
198
+ onChange: function onChange(e) {
199
+ return setAsset(e.target.value);
200
+ },
201
+ options: availableAssets.map(function (a) {
202
+ return {
203
+ label: "".concat(a.code).concat(a.issuer ? ': ' + a.issuer.slice(0, 6) + '...)' : ''),
204
+ value: a.code
205
+ };
206
+ })
207
+ }, {
208
+ id: 'amount',
209
+ type: 'text',
210
+ label: 'Amount',
211
+ value: amount,
212
+ onChange: function onChange(e) {
213
+ return validateAmount(e.target.value);
214
+ },
215
+ error: amountError,
216
+ placeholder: '0.00'
217
+ }, {
218
+ id: 'memoType',
219
+ type: 'select',
220
+ label: 'Memo Type',
221
+ value: memoType,
222
+ onChange: function onChange(e) {
223
+ return setMemoType(e.target.value);
224
+ },
225
+ options: MEMO_TYPES
226
+ }].concat(_toConsumableArray(memoType !== 'none' ? [{
227
+ id: 'memoValue',
228
+ type: 'text',
229
+ label: 'Memo',
230
+ value: memoValue,
231
+ onChange: function onChange(e) {
232
+ return setMemoValue(e.target.value);
233
+ },
234
+ placeholder: 'Enter memo'
235
+ }] : []))],
236
+ action: handlePreview // Renamed from onSubmit to action
237
+ ,
238
+ button: {
239
+ text: "Preview Transaction"
240
+ }
241
+ }), /*#__PURE__*/React.createElement("div", {
242
+ className: "flex items-center gap-4 mt-2"
243
+ }, /*#__PURE__*/React.createElement("span", {
244
+ className: "text-sm text-neutral-600"
245
+ }, "Estimated Fee: ", /*#__PURE__*/React.createElement("span", {
246
+ className: "font-mono"
247
+ }, fee), " XLM"), /*#__PURE__*/React.createElement("span", {
248
+ className: "text-xs px-2 py-1 rounded ".concat(netStatus === 'online' ? 'bg-positive-100 text-positive-700' : 'bg-alert-100 text-alert-700')
249
+ }, netStatus === 'online' ? 'Network Online' : netStatus)), preview && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TransactionCard, {
250
+ tx: preview
251
+ }), /*#__PURE__*/React.createElement(Button, {
252
+ text: "Confirm Transaction",
253
+ variant: "primary",
254
+ onClick: function onClick() {
255
+ return alert('Transaction confirmed!');
256
+ }
257
+ })));
258
+ };