@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,184 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return r; }; var t, r = {}, e = Object.prototype, n = e.hasOwnProperty, o = "function" == typeof Symbol ? Symbol : {}, i = o.iterator || "@@iterator", a = o.asyncIterator || "@@asyncIterator", u = o.toStringTag || "@@toStringTag"; function c(t, r, e, n) { return Object.defineProperty(t, r, { value: e, enumerable: !n, configurable: !n, writable: !n }); } try { c({}, ""); } catch (t) { c = function c(t, r, e) { return t[r] = e; }; } function h(r, e, n, o) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype); return c(a, "_invoke", function (r, e, n) { var o = 1; return function (i, a) { if (3 === o) throw Error("Generator is already running"); if (4 === o) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var u = n.delegate; if (u) { var c = d(u, n); if (c) { if (c === f) continue; return c; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (1 === o) throw o = 4, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = 3; var h = s(r, e, n); if ("normal" === h.type) { if (o = n.done ? 4 : 2, h.arg === f) continue; return { value: h.arg, done: n.done }; } "throw" === h.type && (o = 4, n.method = "throw", n.arg = h.arg); } }; }(r, n, new Context(o || [])), !0), a; } function s(t, r, e) { try { return { type: "normal", arg: t.call(r, e) }; } catch (t) { return { type: "throw", arg: t }; } } r.wrap = h; var f = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var l = {}; c(l, i, function () { return this; }); var p = Object.getPrototypeOf, y = p && p(p(x([]))); y && y !== e && n.call(y, i) && (l = y); var v = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(l); function g(t) { ["next", "throw", "return"].forEach(function (r) { c(t, r, function (t) { return this._invoke(r, t); }); }); } function AsyncIterator(t, r) { function e(o, i, a, u) { var c = s(t[o], t, i); if ("throw" !== c.type) { var h = c.arg, f = h.value; return f && "object" == _typeof(f) && n.call(f, "__await") ? r.resolve(f.__await).then(function (t) { e("next", t, a, u); }, function (t) { e("throw", t, a, u); }) : r.resolve(f).then(function (t) { h.value = t, a(h); }, function (t) { return e("throw", t, a, u); }); } u(c.arg); } var o; c(this, "_invoke", function (t, n) { function i() { return new r(function (r, o) { e(t, n, r, o); }); } return o = o ? o.then(i, i) : i(); }, !0); } function d(r, e) { var n = e.method, o = r.i[n]; if (o === t) return e.delegate = null, "throw" === n && r.i["return"] && (e.method = "return", e.arg = t, d(r, e), "throw" === e.method) || "return" !== n && (e.method = "throw", e.arg = new TypeError("The iterator does not provide a '" + n + "' method")), f; var i = s(o, r.i, e.arg); if ("throw" === i.type) return e.method = "throw", e.arg = i.arg, e.delegate = null, f; var a = i.arg; return a ? a.done ? (e[r.r] = a.value, e.next = r.n, "return" !== e.method && (e.method = "next", e.arg = t), e.delegate = null, f) : a : (e.method = "throw", e.arg = new TypeError("iterator result is not an object"), e.delegate = null, f); } function w(t) { this.tryEntries.push(t); } function m(r) { var e = r[4] || {}; e.type = "normal", e.arg = t, r[4] = e; } function Context(t) { this.tryEntries = [[-1]], t.forEach(w, this), this.reset(!0); } function x(r) { if (null != r) { var e = r[i]; if (e) return e.call(r); if ("function" == typeof r.next) return r; if (!isNaN(r.length)) { var o = -1, a = function e() { for (; ++o < r.length;) if (n.call(r, o)) return e.value = r[o], e.done = !1, e; return e.value = t, e.done = !0, e; }; return a.next = a; } } throw new TypeError(_typeof(r) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, c(v, "constructor", GeneratorFunctionPrototype), c(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = c(GeneratorFunctionPrototype, u, "GeneratorFunction"), r.isGeneratorFunction = function (t) { var r = "function" == typeof t && t.constructor; return !!r && (r === GeneratorFunction || "GeneratorFunction" === (r.displayName || r.name)); }, r.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, c(t, u, "GeneratorFunction")), t.prototype = Object.create(v), t; }, r.awrap = function (t) { return { __await: t }; }, g(AsyncIterator.prototype), c(AsyncIterator.prototype, a, function () { return this; }), r.AsyncIterator = AsyncIterator, r.async = function (t, e, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(h(t, e, n, o), i); return r.isGeneratorFunction(e) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, g(v), c(v, u, "Generator"), c(v, i, function () { return this; }), c(v, "toString", function () { return "[object Generator]"; }), r.keys = function (t) { var r = Object(t), e = []; for (var n in r) e.unshift(n); return function t() { for (; e.length;) if ((n = e.pop()) in r) return t.value = n, t.done = !1, t; return t.done = !0, t; }; }, r.values = x, Context.prototype = { constructor: Context, reset: function reset(r) { if (this.prev = this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(m), !r) for (var e in this) "t" === e.charAt(0) && n.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0][4]; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(r) { if (this.done) throw r; var e = this; function n(t) { a.type = "throw", a.arg = r, e.next = t; } for (var o = e.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i[4], u = this.prev, c = i[1], h = i[2]; if (-1 === i[0]) return n("end"), !1; if (!c && !h) throw Error("try statement without catch or finally"); if (null != i[0] && i[0] <= u) { if (u < c) return this.method = "next", this.arg = t, n(c), !0; if (u < h) return n(h), !1; } } }, abrupt: function abrupt(t, r) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var n = this.tryEntries[e]; if (n[0] > -1 && n[0] <= this.prev && this.prev < n[2]) { var o = n; break; } } o && ("break" === t || "continue" === t) && o[0] <= r && r <= o[2] && (o = null); var i = o ? o[4] : {}; return i.type = t, i.arg = r, o ? (this.method = "next", this.next = o[2], f) : this.complete(i); }, complete: function complete(t, r) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && r && (this.next = r), f; }, finish: function finish(t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var e = this.tryEntries[r]; if (e[2] === t) return this.complete(e[4], e[3]), m(e), f; } }, "catch": function _catch(t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var e = this.tryEntries[r]; if (e[0] === t) { var n = e[4]; if ("throw" === n.type) { var o = n.arg; m(e); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(r, e, n) { return this.delegate = { i: x(r), r: e, n: n }, "next" === this.method && (this.arg = t), f; } }, r; }
3
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
4
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
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 } from 'react';
12
+ import { Modal } from "../shared";
13
+ import { Button } from "../shared/elements/Button";
14
+ import { AuthenticationFlow } from "./AuthenticationFlow";
15
+ // Placeholders for missing components
16
+ // Replace with your actual design system components if available
17
+
18
+ var SecurityLevelIndicator = function SecurityLevelIndicator(_ref) {
19
+ var level = _ref.level;
20
+ return /*#__PURE__*/React.createElement("div", {
21
+ className: "mb-2 p-2 rounded text-white ".concat(level === 'high' ? 'bg-red-600' : level === 'medium' ? 'bg-yellow-600' : 'bg-green-600')
22
+ }, "Security Level: ", level.charAt(0).toUpperCase() + level.slice(1));
23
+ };
24
+ var StellarTransactionPreview = function StellarTransactionPreview(_ref2) {
25
+ var tx = _ref2.tx;
26
+ return /*#__PURE__*/React.createElement("div", {
27
+ className: "p-3 bg-neutral-100 rounded border mb-3"
28
+ }, /*#__PURE__*/React.createElement("div", {
29
+ className: "font-bold mb-2"
30
+ }, "Transaction Overview"), /*#__PURE__*/React.createElement("div", null, "Amount: ", /*#__PURE__*/React.createElement("span", {
31
+ className: "font-mono text-primary-800"
32
+ }, tx.amount)), /*#__PURE__*/React.createElement("div", null, "Asset: ", /*#__PURE__*/React.createElement("span", {
33
+ className: "font-mono text-primary-800"
34
+ }, tx.asset)), /*#__PURE__*/React.createElement("div", null, "To: ", /*#__PURE__*/React.createElement("span", {
35
+ className: "font-mono text-primary-800"
36
+ }, tx.to)), /*#__PURE__*/React.createElement("div", null, "From: ", /*#__PURE__*/React.createElement("span", {
37
+ className: "font-mono text-primary-800"
38
+ }, tx.from)), /*#__PURE__*/React.createElement("div", null, "Memo: ", /*#__PURE__*/React.createElement("span", {
39
+ className: "font-mono text-primary-800"
40
+ }, tx.memo || '-')));
41
+ };
42
+ var TransactionSuccess = function TransactionSuccess(_ref3) {
43
+ var onClose = _ref3.onClose;
44
+ return /*#__PURE__*/React.createElement("div", {
45
+ className: "flex flex-col items-center p-6"
46
+ }, /*#__PURE__*/React.createElement("div", {
47
+ className: "text-green-700 font-bold text-lg mb-2"
48
+ }, "Transaction Successful!"), /*#__PURE__*/React.createElement(Button, {
49
+ text: "Close",
50
+ variant: "primary",
51
+ onClick: onClose
52
+ }));
53
+ };
54
+ var TransactionError = function TransactionError(_ref4) {
55
+ var onRetry = _ref4.onRetry,
56
+ onClose = _ref4.onClose;
57
+ return /*#__PURE__*/React.createElement("div", {
58
+ className: "flex flex-col items-center p-6"
59
+ }, /*#__PURE__*/React.createElement("div", {
60
+ className: "text-red-700 font-bold text-lg mb-2"
61
+ }, "Transaction Failed"), /*#__PURE__*/React.createElement("div", {
62
+ className: "mb-4 text-sm text-neutral-700"
63
+ }, "Please check your network or try again."), /*#__PURE__*/React.createElement(Button, {
64
+ text: "Retry",
65
+ variant: "primary",
66
+ onClick: onRetry
67
+ }), /*#__PURE__*/React.createElement(Button, {
68
+ text: "Cancel",
69
+ variant: "secondary",
70
+ onClick: onClose,
71
+ className: "mt-2"
72
+ }));
73
+ };
74
+ export var TransactionConfirmation = function TransactionConfirmation(_ref5) {
75
+ var open = _ref5.open,
76
+ onClose = _ref5.onClose,
77
+ transaction = _ref5.transaction,
78
+ onConfirm = _ref5.onConfirm;
79
+ var _useState = useState('confirm'),
80
+ _useState2 = _slicedToArray(_useState, 2),
81
+ state = _useState2[0],
82
+ setState = _useState2[1];
83
+ var _useState3 = useState(null),
84
+ _useState4 = _slicedToArray(_useState3, 2),
85
+ error = _useState4[0],
86
+ setError = _useState4[1];
87
+ var handleAuthenticate = /*#__PURE__*/function () {
88
+ var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
89
+ var result;
90
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
91
+ while (1) switch (_context.prev = _context.next) {
92
+ case 0:
93
+ setState('pending');
94
+ _context.prev = 1;
95
+ _context.next = 4;
96
+ return onConfirm(transaction);
97
+ case 4:
98
+ result = _context.sent;
99
+ setState(result === 'success' ? 'success' : 'error');
100
+ _context.next = 12;
101
+ break;
102
+ case 8:
103
+ _context.prev = 8;
104
+ _context.t0 = _context["catch"](1);
105
+ setError(_context.t0.message || 'Unknown error');
106
+ setState('error');
107
+ case 12:
108
+ case "end":
109
+ return _context.stop();
110
+ }
111
+ }, _callee, null, [[1, 8]]);
112
+ }));
113
+ return function handleAuthenticate() {
114
+ return _ref6.apply(this, arguments);
115
+ };
116
+ }();
117
+
118
+ // Reset state when modal opens
119
+ React.useEffect(function () {
120
+ if (open) {
121
+ setState('confirm');
122
+ setError(null);
123
+ }
124
+ }, [open]);
125
+ return /*#__PURE__*/React.createElement(Modal, {
126
+ open: open,
127
+ onClose: onClose,
128
+ title: "Confirm Transaction"
129
+ }, state === 'confirm' && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(SecurityLevelIndicator, {
130
+ level: transaction.riskLevel
131
+ }), /*#__PURE__*/React.createElement("div", {
132
+ className: "mb-2 text-sm text-neutral-700"
133
+ }, /*#__PURE__*/React.createElement("span", {
134
+ className: "font-semibold"
135
+ }, "Network:"), " ", transaction.network, /*#__PURE__*/React.createElement("span", {
136
+ className: "ml-4 font-semibold"
137
+ }, "Source:"), " ", transaction.from), /*#__PURE__*/React.createElement(StellarTransactionPreview, {
138
+ tx: transaction
139
+ }), /*#__PURE__*/React.createElement("div", {
140
+ className: "flex items-center gap-2 mb-3"
141
+ }, /*#__PURE__*/React.createElement("span", {
142
+ className: "font-semibold"
143
+ }, "Fee:"), /*#__PURE__*/React.createElement("span", {
144
+ className: "font-mono text-blue-800"
145
+ }, transaction.fee), /*#__PURE__*/React.createElement("span", {
146
+ className: "ml-4 font-semibold"
147
+ }, "Network Impact:"), /*#__PURE__*/React.createElement("span", {
148
+ className: "font-mono text-yellow-700"
149
+ }, transaction.networkImpact)), /*#__PURE__*/React.createElement(Button, {
150
+ text: "Authenticate & Confirm",
151
+ variant: "primary",
152
+ onClick: function onClick() {
153
+ return setState('auth');
154
+ }
155
+ }), /*#__PURE__*/React.createElement(Button, {
156
+ text: "Cancel",
157
+ variant: "secondary",
158
+ onClick: onClose,
159
+ className: "ml-2"
160
+ })), state === 'auth' && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(AuthenticationFlow, {
161
+ riskLevel: transaction.riskLevel,
162
+ twoFactorEnabled: transaction.twoFactorEnabled,
163
+ biometricSupported: transaction.biometricSupported,
164
+ onAuthenticated: handleAuthenticate
165
+ }), /*#__PURE__*/React.createElement(Button, {
166
+ text: "Back",
167
+ variant: "secondary",
168
+ onClick: function onClick() {
169
+ return setState('confirm');
170
+ },
171
+ className: "mt-2"
172
+ })), state === 'pending' && /*#__PURE__*/React.createElement("div", {
173
+ className: "flex flex-col items-center p-6"
174
+ }, /*#__PURE__*/React.createElement("div", {
175
+ className: "text-blue-700 font-bold text-lg mb-2"
176
+ }, "Processing...")), state === 'success' && /*#__PURE__*/React.createElement(TransactionSuccess, {
177
+ onClose: onClose
178
+ }), state === 'error' && /*#__PURE__*/React.createElement(TransactionError, {
179
+ onRetry: handleAuthenticate,
180
+ onClose: onClose
181
+ }), error && /*#__PURE__*/React.createElement("div", {
182
+ className: "text-red-600 text-xs mt-2"
183
+ }, error));
184
+ };
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { Logo } from "./";
3
+ import { Button } from "../shared";
4
+ var WalletMenu = function WalletMenu(_ref) {
5
+ var menuItems = _ref.menuItems,
6
+ Link = _ref.component;
7
+ return /*#__PURE__*/React.createElement("div", {
8
+ className: "flex justify-center bg-primary-400"
9
+ }, /*#__PURE__*/React.createElement("div", {
10
+ className: "flex justify-between items-center p-4 w-full max-w-screen-sm"
11
+ }, /*#__PURE__*/React.createElement(Link, {
12
+ to: "/"
13
+ }, /*#__PURE__*/React.createElement("div", {
14
+ className: "flex items-center"
15
+ }, /*#__PURE__*/React.createElement(Logo, {
16
+ type: "Isologo",
17
+ size: "small"
18
+ }))), /*#__PURE__*/React.createElement("div", {
19
+ className: "flex space-x-6 items-center"
20
+ }, menuItems.map(function (item, index) {
21
+ return /*#__PURE__*/React.createElement(Button, {
22
+ key: index,
23
+ text: item.label,
24
+ variant: "basic",
25
+ type: "link",
26
+ to: item.to,
27
+ component: item.component || Link,
28
+ size: "small",
29
+ active: item.isActive
30
+ });
31
+ }))));
32
+ };
33
+ export { WalletMenu };
@@ -0,0 +1,150 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return r; }; var t, r = {}, e = Object.prototype, n = e.hasOwnProperty, o = "function" == typeof Symbol ? Symbol : {}, i = o.iterator || "@@iterator", a = o.asyncIterator || "@@asyncIterator", u = o.toStringTag || "@@toStringTag"; function c(t, r, e, n) { return Object.defineProperty(t, r, { value: e, enumerable: !n, configurable: !n, writable: !n }); } try { c({}, ""); } catch (t) { c = function c(t, r, e) { return t[r] = e; }; } function h(r, e, n, o) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype); return c(a, "_invoke", function (r, e, n) { var o = 1; return function (i, a) { if (3 === o) throw Error("Generator is already running"); if (4 === o) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var u = n.delegate; if (u) { var c = d(u, n); if (c) { if (c === f) continue; return c; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (1 === o) throw o = 4, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = 3; var h = s(r, e, n); if ("normal" === h.type) { if (o = n.done ? 4 : 2, h.arg === f) continue; return { value: h.arg, done: n.done }; } "throw" === h.type && (o = 4, n.method = "throw", n.arg = h.arg); } }; }(r, n, new Context(o || [])), !0), a; } function s(t, r, e) { try { return { type: "normal", arg: t.call(r, e) }; } catch (t) { return { type: "throw", arg: t }; } } r.wrap = h; var f = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var l = {}; c(l, i, function () { return this; }); var p = Object.getPrototypeOf, y = p && p(p(x([]))); y && y !== e && n.call(y, i) && (l = y); var v = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(l); function g(t) { ["next", "throw", "return"].forEach(function (r) { c(t, r, function (t) { return this._invoke(r, t); }); }); } function AsyncIterator(t, r) { function e(o, i, a, u) { var c = s(t[o], t, i); if ("throw" !== c.type) { var h = c.arg, f = h.value; return f && "object" == _typeof(f) && n.call(f, "__await") ? r.resolve(f.__await).then(function (t) { e("next", t, a, u); }, function (t) { e("throw", t, a, u); }) : r.resolve(f).then(function (t) { h.value = t, a(h); }, function (t) { return e("throw", t, a, u); }); } u(c.arg); } var o; c(this, "_invoke", function (t, n) { function i() { return new r(function (r, o) { e(t, n, r, o); }); } return o = o ? o.then(i, i) : i(); }, !0); } function d(r, e) { var n = e.method, o = r.i[n]; if (o === t) return e.delegate = null, "throw" === n && r.i["return"] && (e.method = "return", e.arg = t, d(r, e), "throw" === e.method) || "return" !== n && (e.method = "throw", e.arg = new TypeError("The iterator does not provide a '" + n + "' method")), f; var i = s(o, r.i, e.arg); if ("throw" === i.type) return e.method = "throw", e.arg = i.arg, e.delegate = null, f; var a = i.arg; return a ? a.done ? (e[r.r] = a.value, e.next = r.n, "return" !== e.method && (e.method = "next", e.arg = t), e.delegate = null, f) : a : (e.method = "throw", e.arg = new TypeError("iterator result is not an object"), e.delegate = null, f); } function w(t) { this.tryEntries.push(t); } function m(r) { var e = r[4] || {}; e.type = "normal", e.arg = t, r[4] = e; } function Context(t) { this.tryEntries = [[-1]], t.forEach(w, this), this.reset(!0); } function x(r) { if (null != r) { var e = r[i]; if (e) return e.call(r); if ("function" == typeof r.next) return r; if (!isNaN(r.length)) { var o = -1, a = function e() { for (; ++o < r.length;) if (n.call(r, o)) return e.value = r[o], e.done = !1, e; return e.value = t, e.done = !0, e; }; return a.next = a; } } throw new TypeError(_typeof(r) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, c(v, "constructor", GeneratorFunctionPrototype), c(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = c(GeneratorFunctionPrototype, u, "GeneratorFunction"), r.isGeneratorFunction = function (t) { var r = "function" == typeof t && t.constructor; return !!r && (r === GeneratorFunction || "GeneratorFunction" === (r.displayName || r.name)); }, r.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, c(t, u, "GeneratorFunction")), t.prototype = Object.create(v), t; }, r.awrap = function (t) { return { __await: t }; }, g(AsyncIterator.prototype), c(AsyncIterator.prototype, a, function () { return this; }), r.AsyncIterator = AsyncIterator, r.async = function (t, e, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(h(t, e, n, o), i); return r.isGeneratorFunction(e) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, g(v), c(v, u, "Generator"), c(v, i, function () { return this; }), c(v, "toString", function () { return "[object Generator]"; }), r.keys = function (t) { var r = Object(t), e = []; for (var n in r) e.unshift(n); return function t() { for (; e.length;) if ((n = e.pop()) in r) return t.value = n, t.done = !1, t; return t.done = !0, t; }; }, r.values = x, Context.prototype = { constructor: Context, reset: function reset(r) { if (this.prev = this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(m), !r) for (var e in this) "t" === e.charAt(0) && n.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0][4]; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(r) { if (this.done) throw r; var e = this; function n(t) { a.type = "throw", a.arg = r, e.next = t; } for (var o = e.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i[4], u = this.prev, c = i[1], h = i[2]; if (-1 === i[0]) return n("end"), !1; if (!c && !h) throw Error("try statement without catch or finally"); if (null != i[0] && i[0] <= u) { if (u < c) return this.method = "next", this.arg = t, n(c), !0; if (u < h) return n(h), !1; } } }, abrupt: function abrupt(t, r) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var n = this.tryEntries[e]; if (n[0] > -1 && n[0] <= this.prev && this.prev < n[2]) { var o = n; break; } } o && ("break" === t || "continue" === t) && o[0] <= r && r <= o[2] && (o = null); var i = o ? o[4] : {}; return i.type = t, i.arg = r, o ? (this.method = "next", this.next = o[2], f) : this.complete(i); }, complete: function complete(t, r) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && r && (this.next = r), f; }, finish: function finish(t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var e = this.tryEntries[r]; if (e[2] === t) return this.complete(e[4], e[3]), m(e), f; } }, "catch": function _catch(t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var e = this.tryEntries[r]; if (e[0] === t) { var n = e[4]; if ("throw" === n.type) { var o = n.arg; m(e); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(r, e, n) { return this.delegate = { i: x(r), r: e, n: n }, "next" === this.method && (this.arg = t), f; } }, r; }
3
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
4
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
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
+ /**
12
+ * CodeBlock
13
+ *
14
+ * Display code snippets with syntax highlighting and copy functionality.
15
+ * Perfect for API documentation and examples.
16
+ *
17
+ * @example
18
+ * <CodeBlock
19
+ * language="javascript"
20
+ * code={`const response = await fetch('https://api.nobak.io/v1/...')`}
21
+ * showLineNumbers
22
+ * copyable
23
+ * />
24
+ */
25
+
26
+ import React, { useState } from 'react';
27
+ import clsx from 'clsx';
28
+ export var CodeBlock = function CodeBlock(_ref) {
29
+ var code = _ref.code,
30
+ _ref$language = _ref.language,
31
+ language = _ref$language === void 0 ? 'javascript' : _ref$language,
32
+ _ref$showLineNumbers = _ref.showLineNumbers,
33
+ showLineNumbers = _ref$showLineNumbers === void 0 ? false : _ref$showLineNumbers,
34
+ _ref$copyable = _ref.copyable,
35
+ copyable = _ref$copyable === void 0 ? true : _ref$copyable,
36
+ _ref$showLanguage = _ref.showLanguage,
37
+ showLanguage = _ref$showLanguage === void 0 ? true : _ref$showLanguage,
38
+ title = _ref.title,
39
+ maxHeight = _ref.maxHeight,
40
+ _ref$theme = _ref.theme,
41
+ theme = _ref$theme === void 0 ? 'dark' : _ref$theme,
42
+ className = _ref.className;
43
+ var _useState = useState(false),
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ copied = _useState2[0],
46
+ setCopied = _useState2[1];
47
+ var handleCopy = /*#__PURE__*/function () {
48
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
49
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
50
+ while (1) switch (_context.prev = _context.next) {
51
+ case 0:
52
+ _context.prev = 0;
53
+ _context.next = 3;
54
+ return navigator.clipboard.writeText(code);
55
+ case 3:
56
+ setCopied(true);
57
+ setTimeout(function () {
58
+ return setCopied(false);
59
+ }, 2000);
60
+ _context.next = 10;
61
+ break;
62
+ case 7:
63
+ _context.prev = 7;
64
+ _context.t0 = _context["catch"](0);
65
+ console.error('Failed to copy:', _context.t0);
66
+ case 10:
67
+ case "end":
68
+ return _context.stop();
69
+ }
70
+ }, _callee, null, [[0, 7]]);
71
+ }));
72
+ return function handleCopy() {
73
+ return _ref2.apply(this, arguments);
74
+ };
75
+ }();
76
+ var lines = code.split(': ');
77
+ var languageLabels = {
78
+ javascript: 'JavaScript',
79
+ typescript: 'TypeScript',
80
+ python: 'Python',
81
+ bash: 'Bash',
82
+ json: 'JSON',
83
+ html: 'HTML',
84
+ css: 'CSS',
85
+ curl: 'cURL'
86
+ };
87
+ var containerClasses = clsx('code-block', 'rounded-lg', 'overflow-hidden', 'border', {
88
+ 'bg-gray-900 border-gray-700': theme === 'dark',
89
+ 'bg-gray-50 border-gray-200': theme === 'light'
90
+ }, className);
91
+ var codeClasses = clsx('font-mono text-sm', {
92
+ 'text-gray-100': theme === 'dark',
93
+ 'text-gray-900': theme === 'light'
94
+ });
95
+ return /*#__PURE__*/React.createElement("div", {
96
+ className: containerClasses
97
+ }, (title || showLanguage || copyable) && /*#__PURE__*/React.createElement("div", {
98
+ className: clsx('flex items-center justify-between px-4 py-2 border-b', {
99
+ 'bg-gray-800 border-gray-700': theme === 'dark',
100
+ 'bg-gray-100 border-gray-200': theme === 'light'
101
+ })
102
+ }, /*#__PURE__*/React.createElement("div", {
103
+ className: "flex items-center gap-3"
104
+ }, title && /*#__PURE__*/React.createElement("span", {
105
+ className: clsx('text-sm font-medium', {
106
+ 'text-gray-300': theme === 'dark',
107
+ 'text-gray-700': theme === 'light'
108
+ })
109
+ }, title), showLanguage && /*#__PURE__*/React.createElement("span", {
110
+ className: clsx('text-xs px-2 py-1 rounded', {
111
+ 'bg-gray-700 text-gray-300': theme === 'dark',
112
+ 'bg-gray-200 text-gray-600': theme === 'light'
113
+ })
114
+ }, languageLabels[language] || language)), copyable && /*#__PURE__*/React.createElement("button", {
115
+ onClick: handleCopy,
116
+ className: clsx('text-xs px-3 py-1 rounded transition-colors', {
117
+ 'bg-green-600 text-white': copied,
118
+ 'bg-gray-700 text-gray-300 hover:bg-gray-600': !copied && theme === 'dark',
119
+ 'bg-gray-200 text-gray-700 hover:bg-gray-300': !copied && theme === 'light'
120
+ })
121
+ }, copied ? '✓ Copied!' : '📋 Copy')), /*#__PURE__*/React.createElement("div", {
122
+ className: "overflow-x-auto",
123
+ style: {
124
+ maxHeight: maxHeight || 'none'
125
+ }
126
+ }, /*#__PURE__*/React.createElement("pre", {
127
+ className: "p-4"
128
+ }, /*#__PURE__*/React.createElement("code", {
129
+ className: codeClasses
130
+ }, showLineNumbers ? /*#__PURE__*/React.createElement("table", {
131
+ className: "w-full"
132
+ }, /*#__PURE__*/React.createElement("tbody", null, lines.map(function (line, index) {
133
+ return /*#__PURE__*/React.createElement("tr", {
134
+ key: index
135
+ }, /*#__PURE__*/React.createElement("td", {
136
+ className: clsx('pr-4 text-right select-none', {
137
+ 'text-gray-500': theme === 'dark',
138
+ 'text-gray-400': theme === 'light'
139
+ }),
140
+ style: {
141
+ width: ': '
142
+ }
143
+ }, index + 1), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("span", {
144
+ className: "whitespace-pre"
145
+ }, line || ' ')));
146
+ }))) : /*#__PURE__*/React.createElement("span", {
147
+ className: "whitespace-pre"
148
+ }, code)))));
149
+ };
150
+ CodeBlock.displayName = 'CodeBlock';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Console Code Components
3
+ *
4
+ * Code display and interaction components
5
+ */
6
+
7
+ export { CodeBlock } from "./CodeBlock";
8
+
9
+ // export { APIPlayground } from './APIPlayground';
@@ -0,0 +1,245 @@
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
+ /**
12
+ * DataTable
13
+ *
14
+ * Display tabular data with sorting, filtering, and pagination.
15
+ * Perfect for API keys, logs, users, and other structured data.
16
+ *
17
+ * @example
18
+ * <DataTable
19
+ * columns={columns}
20
+ * data={data}
21
+ * sortable
22
+ * filterable
23
+ * pagination
24
+ * />
25
+ */
26
+
27
+ import React, { useState, useMemo } from 'react';
28
+ import clsx from 'clsx';
29
+ export var DataTable = function DataTable(_ref) {
30
+ var columns = _ref.columns,
31
+ data = _ref.data,
32
+ _ref$sortable = _ref.sortable,
33
+ sortable = _ref$sortable === void 0 ? false : _ref$sortable,
34
+ _ref$selectable = _ref.selectable,
35
+ selectable = _ref$selectable === void 0 ? false : _ref$selectable,
36
+ _ref$selectedRows = _ref.selectedRows,
37
+ selectedRows = _ref$selectedRows === void 0 ? [] : _ref$selectedRows,
38
+ onSelectRows = _ref.onSelectRows,
39
+ onRowClick = _ref.onRowClick,
40
+ _ref$rowKey = _ref.rowKey,
41
+ rowKey = _ref$rowKey === void 0 ? 'id' : _ref$rowKey,
42
+ _ref$loading = _ref.loading,
43
+ loading = _ref$loading === void 0 ? false : _ref$loading,
44
+ _ref$emptyMessage = _ref.emptyMessage,
45
+ emptyMessage = _ref$emptyMessage === void 0 ? 'No data available' : _ref$emptyMessage,
46
+ _ref$pagination = _ref.pagination,
47
+ pagination = _ref$pagination === void 0 ? false : _ref$pagination,
48
+ _ref$pageSize = _ref.pageSize,
49
+ pageSize = _ref$pageSize === void 0 ? 10 : _ref$pageSize,
50
+ className = _ref.className;
51
+ var _useState = useState(null),
52
+ _useState2 = _slicedToArray(_useState, 2),
53
+ sortColumn = _useState2[0],
54
+ setSortColumn = _useState2[1];
55
+ var _useState3 = useState('asc'),
56
+ _useState4 = _slicedToArray(_useState3, 2),
57
+ sortDirection = _useState4[0],
58
+ setSortDirection = _useState4[1];
59
+ var _useState5 = useState(1),
60
+ _useState6 = _slicedToArray(_useState5, 2),
61
+ currentPage = _useState6[0],
62
+ setCurrentPage = _useState6[1];
63
+
64
+ // Sorting logic
65
+ var sortedData = useMemo(function () {
66
+ if (!sortColumn) return data;
67
+ return _toConsumableArray(data).sort(function (a, b) {
68
+ var aVal = a[sortColumn];
69
+ var bVal = b[sortColumn];
70
+ if (aVal === bVal) return 0;
71
+ var comparison = aVal > bVal ? 1 : -1;
72
+ return sortDirection === 'asc' ? comparison : -comparison;
73
+ });
74
+ }, [data, sortColumn, sortDirection]);
75
+
76
+ // Pagination logic
77
+ var paginatedData = useMemo(function () {
78
+ if (!pagination) return sortedData;
79
+ var startIndex = (currentPage - 1) * pageSize;
80
+ var endIndex = startIndex + pageSize;
81
+ return sortedData.slice(startIndex, endIndex);
82
+ }, [sortedData, pagination, currentPage, pageSize]);
83
+ var totalPages = Math.ceil(sortedData.length / pageSize);
84
+
85
+ // Handle sort
86
+ var handleSort = function handleSort(columnKey) {
87
+ if (!sortable) return;
88
+ if (sortColumn === columnKey) {
89
+ setSortDirection(sortDirection === 'asc' ? 'desc' : 'asc');
90
+ } else {
91
+ setSortColumn(columnKey);
92
+ setSortDirection('asc');
93
+ }
94
+ };
95
+
96
+ // Handle select all
97
+ var handleSelectAll = function handleSelectAll() {
98
+ if (!onSelectRows) return;
99
+ if (selectedRows.length === data.length) {
100
+ onSelectRows([]);
101
+ } else {
102
+ onSelectRows(data.map(function (row) {
103
+ return row[rowKey];
104
+ }));
105
+ }
106
+ };
107
+
108
+ // Handle select row
109
+ var handleSelectRow = function handleSelectRow(key) {
110
+ if (!onSelectRows) return;
111
+ if (selectedRows.includes(key)) {
112
+ onSelectRows(selectedRows.filter(function (k) {
113
+ return k !== key;
114
+ }));
115
+ } else {
116
+ onSelectRows([].concat(_toConsumableArray(selectedRows), [key]));
117
+ }
118
+ };
119
+ var isAllSelected = selectedRows.length === data.length && data.length > 0;
120
+ var isSomeSelected = selectedRows.length > 0 && selectedRows.length < data.length;
121
+ return /*#__PURE__*/React.createElement("div", {
122
+ className: clsx('data-table', className)
123
+ }, /*#__PURE__*/React.createElement("div", {
124
+ className: "overflow-x-auto"
125
+ }, /*#__PURE__*/React.createElement("table", {
126
+ className: "w-full"
127
+ }, /*#__PURE__*/React.createElement("thead", {
128
+ className: "bg-gray-50 border-b border-gray-200"
129
+ }, /*#__PURE__*/React.createElement("tr", null, selectable && /*#__PURE__*/React.createElement("th", {
130
+ className: "px-6 py-3 text-left w-12"
131
+ }, /*#__PURE__*/React.createElement("input", {
132
+ type: "checkbox",
133
+ checked: isAllSelected,
134
+ ref: function ref(input) {
135
+ if (input) input.indeterminate = isSomeSelected;
136
+ },
137
+ onChange: handleSelectAll,
138
+ className: "rounded border-gray-300 text-primary-600 focus:ring-primary-500"
139
+ })), columns.map(function (column) {
140
+ return /*#__PURE__*/React.createElement("th", {
141
+ key: column.key,
142
+ className: clsx('px-6 py-3 text-xs font-medium text-gray-500 uppercase tracking-wider', {
143
+ 'cursor-pointer hover:bg-gray-100 select-none': sortable && column.sortable !== false,
144
+ 'text-left': column.align === 'left' || !column.align,
145
+ 'text-center': column.align === 'center',
146
+ 'text-right': column.align === 'right'
147
+ }),
148
+ style: {
149
+ width: column.width
150
+ },
151
+ onClick: function onClick() {
152
+ return column.sortable !== false && handleSort(column.key);
153
+ }
154
+ }, /*#__PURE__*/React.createElement("div", {
155
+ className: "flex items-center gap-2"
156
+ }, /*#__PURE__*/React.createElement("span", null, column.label), sortable && column.sortable !== false && /*#__PURE__*/React.createElement("span", {
157
+ className: "text-gray-400"
158
+ }, sortColumn === column.key ? sortDirection === 'asc' ? '↑' : '↓' : '↕')));
159
+ }))), /*#__PURE__*/React.createElement("tbody", {
160
+ className: "bg-white divide-y divide-gray-200"
161
+ }, loading ? /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", {
162
+ colSpan: columns.length + (selectable ? 1 : 0),
163
+ className: "px-6 py-12 text-center"
164
+ }, /*#__PURE__*/React.createElement("div", {
165
+ className: "flex items-center justify-center"
166
+ }, /*#__PURE__*/React.createElement("div", {
167
+ className: "animate-spin rounded-full h-8 w-8 border-b-2 border-primary-500"
168
+ })))) : paginatedData.length === 0 ? /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", {
169
+ colSpan: columns.length + (selectable ? 1 : 0),
170
+ className: "px-6 py-12 text-center text-gray-500"
171
+ }, emptyMessage)) : paginatedData.map(function (row) {
172
+ var key = row[rowKey];
173
+ var isSelected = selectedRows.includes(key);
174
+ return /*#__PURE__*/React.createElement("tr", {
175
+ key: key,
176
+ className: clsx('transition-colors', {
177
+ 'hover:bg-gray-50': onRowClick,
178
+ 'cursor-pointer': onRowClick,
179
+ 'bg-primary-50': isSelected
180
+ }),
181
+ onClick: function onClick() {
182
+ return onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(row);
183
+ }
184
+ }, selectable && /*#__PURE__*/React.createElement("td", {
185
+ className: "px-6 py-4"
186
+ }, /*#__PURE__*/React.createElement("input", {
187
+ type: "checkbox",
188
+ checked: isSelected,
189
+ onChange: function onChange(e) {
190
+ e.stopPropagation();
191
+ handleSelectRow(key);
192
+ },
193
+ onClick: function onClick(e) {
194
+ return e.stopPropagation();
195
+ },
196
+ className: "rounded border-gray-300 text-primary-600 focus:ring-primary-500"
197
+ })), columns.map(function (column) {
198
+ return /*#__PURE__*/React.createElement("td", {
199
+ key: column.key,
200
+ className: clsx('px-6 py-4 text-sm text-gray-900', {
201
+ 'text-left': column.align === 'left' || !column.align,
202
+ 'text-center': column.align === 'center',
203
+ 'text-right': column.align === 'right'
204
+ })
205
+ }, column.render ? column.render(row[column.key], row) : row[column.key]);
206
+ }));
207
+ })))), pagination && !loading && paginatedData.length > 0 && /*#__PURE__*/React.createElement("div", {
208
+ className: "px-6 py-4 border-t border-gray-200 flex items-center justify-between"
209
+ }, /*#__PURE__*/React.createElement("div", {
210
+ className: "text-sm text-gray-700"
211
+ }, "Showing ", (currentPage - 1) * pageSize + 1, " to", ' ', Math.min(currentPage * pageSize, sortedData.length), " of ", sortedData.length, " results"), /*#__PURE__*/React.createElement("div", {
212
+ className: "flex gap-2"
213
+ }, /*#__PURE__*/React.createElement("button", {
214
+ onClick: function onClick() {
215
+ return setCurrentPage(function (p) {
216
+ return Math.max(1, p - 1);
217
+ });
218
+ },
219
+ disabled: currentPage === 1,
220
+ className: clsx('px-3 py-1 rounded border text-sm', currentPage === 1 ? 'border-gray-200 text-gray-400 cursor-not-allowed' : 'border-gray-300 text-gray-700 hover:bg-gray-50')
221
+ }, "Previous"), /*#__PURE__*/React.createElement("div", {
222
+ className: "flex items-center gap-1"
223
+ }, Array.from({
224
+ length: totalPages
225
+ }, function (_, i) {
226
+ return i + 1;
227
+ }).map(function (page) {
228
+ return /*#__PURE__*/React.createElement("button", {
229
+ key: page,
230
+ onClick: function onClick() {
231
+ return setCurrentPage(page);
232
+ },
233
+ className: clsx('px-3 py-1 rounded text-sm', page === currentPage ? 'bg-primary-500 text-white' : 'text-gray-700 hover:bg-gray-50')
234
+ }, page);
235
+ })), /*#__PURE__*/React.createElement("button", {
236
+ onClick: function onClick() {
237
+ return setCurrentPage(function (p) {
238
+ return Math.min(totalPages, p + 1);
239
+ });
240
+ },
241
+ disabled: currentPage === totalPages,
242
+ className: clsx('px-3 py-1 rounded border text-sm', currentPage === totalPages ? 'border-gray-200 text-gray-400 cursor-not-allowed' : 'border-gray-300 text-gray-700 hover:bg-gray-50')
243
+ }, "Next"))));
244
+ };
245
+ DataTable.displayName = 'DataTable';